国产99久久精品_欧美日本韩国一区二区_激情小说综合网_欧美一级二级视频_午夜av电影_日本久久精品视频

最新文章專題視頻專題問答1問答10問答100問答1000問答2000關鍵字專題1關鍵字專題50關鍵字專題500關鍵字專題1500TAG最新視頻文章推薦1 推薦3 推薦5 推薦7 推薦9 推薦11 推薦13 推薦15 推薦17 推薦19 推薦21 推薦23 推薦25 推薦27 推薦29 推薦31 推薦33 推薦35 推薦37視頻文章20視頻文章30視頻文章40視頻文章50視頻文章60 視頻文章70視頻文章80視頻文章90視頻文章100視頻文章120視頻文章140 視頻2關鍵字專題關鍵字專題tag2tag3文章專題文章專題2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章專題3
問答文章1 問答文章501 問答文章1001 問答文章1501 問答文章2001 問答文章2501 問答文章3001 問答文章3501 問答文章4001 問答文章4501 問答文章5001 問答文章5501 問答文章6001 問答文章6501 問答文章7001 問答文章7501 問答文章8001 問答文章8501 問答文章9001 問答文章9501
當前位置: 首頁 - 科技 - 知識百科 - 正文

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

來源:懂視網 責編:小采 時間:2020-11-27 20:39:53
文檔

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

javascript使用window.name解決跨域問題第1/2頁_javascript技巧:window.name 傳輸技術,原本是 Thomas Frank 用于解決 cookie 的一些劣勢(每個域名 4 x 20 Kb 的限制、數據只能是字符串、設置和獲取 cookie 語法的復雜等等)而發(fā)明的(詳細見原文:《Session variables without cookies》),后
推薦度:
導讀javascript使用window.name解決跨域問題第1/2頁_javascript技巧:window.name 傳輸技術,原本是 Thomas Frank 用于解決 cookie 的一些劣勢(每個域名 4 x 20 Kb 的限制、數據只能是字符串、設置和獲取 cookie 語法的復雜等等)而發(fā)明的(詳細見原文:《Session variables without cookies》),后

window.name 傳輸技術,原本是 Thomas Frank 用于解決 cookie 的一些劣勢(每個域名 4 x 20 Kb 的限制、數據只能是字符串、設置和獲取 cookie 語法的復雜等等)而發(fā)明的(詳細見原文:《Session variables without cookies》),后來 Kris Zyp 在此方法的基礎上強化了 window.name 傳輸 ,并引入到了 Dojo (dojox.io.windowName),用來解決跨域數據傳輸問題。
window.name 傳輸技術的基本原理和步驟為:
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 中加載資源,并且一旦獲取到數據,或者當你在最頂層瀏覽了一個新頁面,這個 iframe 將被銷毀,所以其他頁面永遠訪問不到 window.name 屬性。

基本實現代碼,基于 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;
};
})();

聲明:本網頁內容旨在傳播知識,若有侵權等問題請及時與本網聯系,我們將在第一時間刪除處理。TEL:177 7030 7066 E-MAIL:11247931@qq.com

文檔

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

javascript使用window.name解決跨域問題第1/2頁_javascript技巧:window.name 傳輸技術,原本是 Thomas Frank 用于解決 cookie 的一些劣勢(每個域名 4 x 20 Kb 的限制、數據只能是字符串、設置和獲取 cookie 語法的復雜等等)而發(fā)明的(詳細見原文:《Session variables without cookies》),后
推薦度:
標簽: 使用 解決 js
  • 熱門焦點

最新推薦

猜你喜歡

熱門推薦

專題
Top
主站蜘蛛池模板: 特黄一级毛片 | 大陆一级毛片 | 91专区 | 国产91在线 | 中文 | 亚洲国产精品视频 | 午夜又黄又爽 | 免费国产线观看免费观看 | 国产最新精品视频 | 国产精品免费_区二区三区观看 | 亚洲 欧洲 另类 综合 自拍 | 伊人久久大香线蕉综合爱婷婷 | 五十路中文字幕 | 在线观看色视频网站 | 亚洲首页在线观看 | 国产成人综合欧美精品久久 | 欧美日韩国产三级 | 精品国产免费观看一区高清 | 久久www免费人成_看片美女图 | 亚欧美 | 国产亚洲三级 | 国产97在线观看 | 亚洲一区二区精品视频 | 欧美日韩在线亚洲国产人 | 亚洲国产成人久久一区二区三区 | 欧区一欧区二欧区三免费 | 国产日韩在线看 | 自拍亚洲| 欧美成人禁片在线观看网址 | 国产观看在线 | 亚洲国产精品视频 | 国产片在线观看 | 久久亚洲精品国产亚洲老地址 | 国产精品久久久久毛片 | 国产高清免费不卡观看 | 日韩区在线| 一区二区不卡久久精品 | 在线免费国产 | 亚洲欧美国产精品 | 国产成人久久蜜一区二区 | 九一毛片 | 国产成人一区二区三区 |