日韩欧美人妻无码精品白浆,夜夜嗨AV免费入口,国产欧美官网在线看,高校回应聋哑女生因长相完美被质疑
400 186 1886
OA教程
經(jīng)驗(yàn)分享
安裝指引
工作流
ERP教程
經(jīng)驗(yàn)分享
銷售管理
采購管理
生產(chǎn)管理
倉庫管理
工程管理
品質(zhì)管理
財(cái)務(wù)管理
模切知識(shí)交流
經(jīng)驗(yàn)分享
技術(shù)文檔
PMS教程
CRM教程
開發(fā)文檔
其他文檔
MIS教程
MAS教程
EBR教程
企業(yè)管理
微信好文
讀書沙龍
無題
網(wǎng)站管理員
你的無刷新技術(shù)是用的Ajax還是iframe?
當(dāng)前位置:
點(diǎn)晴教程
→
知識(shí)管理交流
→
『 技術(shù)文檔交流 』
admin
2011年1月22日 21:37
本文熱度 3709
1. 一直用iframe代替Ajax
15.38%
(2)
2. 一般用Ajax,文件上傳用iframe
23.08%
(3)
3. 一直用Ajax,文件上傳可以用flash上傳
61.54%
(8)
您所在的用戶組沒有投票權(quán)限
本帖最后由 我為ぁ琴狂 于 2010-8-22 11:44 編輯
現(xiàn)在我碰到一些問題很糾結(jié):
1,全都用Ajax,文件上傳可以用flash上傳,但是Ajax提交表單總感覺挺麻煩的
2,全都用iframe,似乎不能符合W3C文檔標(biāo)準(zhǔn)(不知道怎樣去符合)
3,一般用Ajax,文件上傳用iframe,這個(gè)discuz就是這樣做的
iframe替代ajax方案:
1.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />
<title>無標(biāo)題文檔</title>
<script type="text/javascript">
function ajax(settings) {
var div = document.createElement("div"), successed = false, iframeId = "i" + new Date().getTime();
div.style.display = 'none';
div.innerHTML = '<iframe id="' + iframeId + '" name="' + iframeId + '"></iframe>';
document.body.appendChild(div);
var hiddenIframe = document.getElementById(iframeId);
if(settings.form) {
settings.form.action = settings.url;
settings.form.target = iframeId;
settings.form.submit();
} else {
hiddenIframe.src = settings.url;
}
var fetchData = function() {
var doc = document.all ? window.frames[iframeId].document : hiddenIframe.contentDocument;
settings.callback(doc.body.innerHTML);
successed = true;
}
settings.loader();
setTimeout(function() {
if(!successed) {
alert('Resquest timeout!');
fetchData = new Function();
}
}, settings.timeout);
if (document.all){
hiddenIframe.attachEvent("onload", fetchData);
} else {
hiddenIframe.onload = fetchData;
}
}
function A() {
ajax({
form: document.getElementById('f'),
url: '1.php',
loader: function() {},
timeout: 3000,
callback: function(data) {
alert(data);
}
})
return false;
}
function B() {
ajax({
url: '1.php',
loader: function() {},
timeout: 3000,
callback: function(data) {
alert(data);
}
})
return false;
}
</script>
</head>
<body>
<form id="f" method="post" onsubmit="return A()">
<input type="text" name="word" value="123" />
<input type="submit"/>
</form>
<button onclick="B()">get_send</button>
</body>
</html>
復(fù)制代碼
1.php
<?php
echo json_encode(array($_POST))
?>
復(fù)制代碼
該文章在 2011/1/22 21:37:11 編輯過
全部評(píng)論
3
admin
2011年1月22日 21:37
搜到的一些高手的見解 到現(xiàn)在ajax碰到的兩個(gè)比較大的問題是 1)中文亂碼,這個(gè)貌似是編碼的問題,基本上能夠解決,但是在某些比較低版本的瀏覽器中還是會(huì)出現(xiàn)一些問題 2)跨域post提交數(shù)據(jù),這個(gè)貌似沒有辦法直接實(shí)現(xiàn),只能通過代理或其他方式來實(shí)現(xiàn) 而這兩個(gè)問題iframe基本都不會(huì)碰到,但是iframe的問題在于 1)你想同時(shí)進(jìn)行多少個(gè)請(qǐng)求,就必須建立多少個(gè)iframe~否則無法同時(shí)進(jìn)行 2)iframe的方式處理的是iframe頁面的內(nèi)容,交互成功的觸發(fā)方式主要靠a)頁面定時(shí)讀取頁面加載狀態(tài);b)iframe觸發(fā)父頁面的事件。a)方式必然導(dǎo)致對(duì)客戶端資源的較多占用,b)方式導(dǎo)致返回?cái)?shù)據(jù)的增加,而且必須保證父頁和框架頁的變量和方法的統(tǒng)一。而這點(diǎn)上面,ajax交互過程中僅僅返回所需要的數(shù)據(jù)(xml或者text),這個(gè)是ajax相比iframe的最大優(yōu)勢(shì)之一。 當(dāng)然,有些簡單的交互過程,或許用iframe解決會(huì)簡單一些,例如我的站點(diǎn)有多個(gè)頻道,采用二級(jí)域名布局,這時(shí)候如果在a域名下要將數(shù)據(jù)post到b域名下,如果用ajax處理起來可能會(huì)很麻煩,但是iframe很簡單就能實(shí)現(xiàn)了 至于實(shí)際應(yīng)用中,用iframe還是ajax,看實(shí)際需求和個(gè)人喜好吧~~ 在有的地方比如點(diǎn)擊出現(xiàn)一個(gè)浮動(dòng)操作窗口,用iframe比用ajax方便的多。個(gè)人感覺用戶體驗(yàn)比ajax還要好,ajax總有頓一下的感覺,iframe的方式響應(yīng)非???。但是一點(diǎn)擊瀏覽器的后退按鈕就露馬腳了,用iframe會(huì)把每次操作當(dāng)作一次點(diǎn)擊鏈接記錄到歷史記錄中。ajax還能做很多其它iframe做不了的事
該評(píng)論在 2011/1/22 21:37:46 編輯過
admin
2011年1月22日 21:39
哥用ajax用的很少,幾乎不怎么用,適當(dāng)用用還是有益的,用多了就有些過度依賴了
該評(píng)論在 2011/1/22 21:39:04 編輯過
admin
2011年1月22日 21:39
什么方便就用什么
該評(píng)論在 2011/1/22 21:39:21 編輯過
關(guān)鍵字查詢
技術(shù)
相關(guān)文章
正在查詢...
Copyright 2010-2025
ClickSun
All Rights Reserved