一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

javascript使用window.name解決跨域問題第1/2頁

window.name 傳輸技術(shù),原本是 Thomas Frank 用于解決 cookie 的一些劣勢(每個域名 4 x 20 Kb 的限制、數(shù)據(jù)只能是字符串、設置和獲取 cookie 語法的復雜等等)而發(fā)明的(詳細見原文:《Session variables without cookies》),后來 Kris Zyp 在此方法的基礎上強化了 window.name 傳輸 ,并引入到了 Dojo (dojox.io.windowName),用來解決跨域數(shù)據(jù)傳輸問題。
window.name 傳輸技術(shù)的基本原理和步驟為:
name 在瀏覽器環(huán)境中是一個全局/window對象的屬性,且當在 frame 中加載新頁面時,name 的屬性值依舊保持不變。通過在 iframe 中加載一個資源,該目標頁面將設置 frame 的 name 屬性。此 name 屬性值可被獲取到,以訪問 Web 服務發(fā)送的信息。但 name 屬性僅對相同域名的 frame 可訪問。這意味著為了訪問 name 屬性,當遠程 Web 服務頁面被加載后,必須導航 frame 回到原始域。同源策略依舊防止其他 frame 訪問 name 屬性。一旦 name 屬性獲得,銷毀 frame 。

在最頂層,name 屬性是不安全的,對于所有后續(xù)頁面,設置在 name 屬性中的任何信息都是可獲得的。然而 windowName 模塊總是在一個 iframe 中加載資源,并且一旦獲取到數(shù)據(jù),或者當你在最頂層瀏覽了一個新頁面,這個 iframe 將被銷毀,所以其他頁面永遠訪問不到 window.name 屬性。

基本實現(xiàn)代碼,基于 YUI,源自 克軍寫的樣例:

復制代碼 代碼如下:
(function(){
var YUD = YAHOO.util.Dom, YUE = YAHOO.util.Event;

dataRequest = {
_doc: document,
cfg: {
proxyUrl: 'proxy.html'
}
};

dataRequest.send = function(sUrl, fnCallBack){
if(!sUrl || typeof sUrl !== 'string'){
return;
}

sUrl += (sUrl.indexOf('?') > 0 ? '&' : '?') + 'windowname=true';

var frame = this._doc.createElement('iframe'), state = 0, self = this;
this._doc.body.appendChild(frame);
frame.style.display = 'none';

var clear = function(){
try{
frame.contentWindow.document.write('');
frame.contentWindow.close();
self._doc.body.removeChild(frame);
}catch(e){}
};

var getData = function(){
try{
var da = frame.contentWindow.name;
}catch(e){}
clear();
if(fnCallBack && typeof fnCallBack === 'function'){
fnCallBack(da);
}
};

YUE.on(frame, 'load', function(){
if(state === 1){
getData();
} else if(state === 0){
state = 1;
frame.contentWindow.location = self.cfg.proxyUrl;
}
});

frame.src = sUrl;
};
})();

JavaScript技術(shù)javascript使用window.name解決跨域問題第1/2頁,轉(zhuǎn)載需保留來源!

鄭重聲明:本文版權(quán)歸原作者所有,轉(zhuǎn)載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: com欧美 | 亚洲香蕉久久一区二区 | 韩国一级成a人片在线观看 韩国一级毛片 | 嫩草免费 | 韩国精品一区二区三区四区五区 | 91精品国产自产在线观看高清 | 国产大臿蕉香蕉大视频女 | 国产精品人伦久久 | 婷婷在线五月 | 欧美日韩黄色大片 | 国产成人精品福利网站在线观看 | 在线亚洲一区 | 色婷婷资源网 | 国产一区中文字幕 | 亚洲九九九 | 91视频国产精品 | 伊人精品视频在线观看 | 欧美日韩国产亚洲人成 | 成人欧美在线观看 | 一区二区三区在线观看视频 | 久久精品麻豆 | 男女男精品视频网站 | 亚洲色图偷 | 欧美成a人免费观看久久 | 色哟哟导航 | 91精品国产三级在线观看 | 国产美妇 | 正在播放一区二区 | 国产成人综合一区人人 | 国产成人精品久久一区二区三区 | 精品一区二区三区视频在线观看免 | 另类视频色综合 | 欧美ww| 国产精品一区二区免费 | 亚洲第一黄色 | 91精品国产免费入口 | 欧美激情片在线观看 | 久久国产成人 | 91欧美亚洲 | 激情五月婷婷丁香 | 国产免费91视频 |