javascript使用window.name解決跨域問題第2/2頁
更新時(shí)間:2008年09月06日 21:51:11 作者:
window.name 的美妙之處:name 值在不同的頁面(甚至不同域名)加載后依舊存在,并且可以支持非常長的 name 值(2MB)。
為了讓 Web 服務(wù)器實(shí)現(xiàn) window.name,服務(wù)器應(yīng)該只尋找請(qǐng)求中是否包含 windowname 參數(shù)。如果包含了 windowname 參數(shù),服務(wù)器應(yīng)該返回一個(gè)設(shè)置了 window.name 字符串值的 HTML 文檔,回應(yīng)此請(qǐng)求并傳送到客戶端。例如:
http://www.planabc.net/getdata.html?windowname=true
如果服務(wù)器想用 Hello 響應(yīng)客服端,它應(yīng)該返回一個(gè) HTML 頁面:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
同樣也可以轉(zhuǎn)換為 JSON 數(shù)據(jù):
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
如果你手動(dòng)創(chuàng)建資源,書寫大量的多行的 JSON 對(duì)象為一個(gè)引用的字符串應(yīng)該是比較困難的并且易于出錯(cuò)的??梢允褂眠@樣的 HTML 樣例簡單的創(chuàng)建 JSON 數(shù)據(jù),將會(huì)轉(zhuǎn)換為一個(gè) JSON 字符串而無需手動(dòng)轉(zhuǎn)義 JSON 為字符串:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
同樣的,如果你想傳遞 HTML/XML 數(shù)據(jù),這里有一個(gè)樣例實(shí)現(xiàn),而無需手動(dòng)將這些數(shù)據(jù)轉(zhuǎn)換成字符串:
[Ctrl+A 全選 注:引入外部Js需再刷新一下頁面才能執(zhí)行]
window.name 傳輸技術(shù)相比其他的跨域傳輸?shù)囊恍﹥?yōu)勢(shì):
它是安全的。也就是說,它和其他的基于安全傳輸?shù)?frame 一樣安全,例如 Fragment Identifier messaging (FIM)和 Subspace。(I)Frames 也有他們自己的安全問題,由于 frame 可以改變其他 frame 的 location,但是這個(gè)是非常不同的安全溢出,通常不太嚴(yán)重。
它比 FIM 更快,因?yàn)樗挥锰幚硇?shù)據(jù)包大小的 Fragment Identifier ,并且它不會(huì)有更多的 IE 上的“機(jī)關(guān)槍”聲音效果。它也比 Subspace 快,Subspace 需要加載兩個(gè) Iframe 和兩個(gè)本地的 HTML 文件來處理一個(gè)請(qǐng)求。window.name 僅需要一個(gè) Iframe 和一個(gè)本地文件。
它比 FIM 和 Subspace 更簡單和安全。FIM 稍微復(fù)雜,而 Subspace 非常復(fù)雜。Subspace 也有一些額外的限制和安裝要求,如預(yù)先聲明所有的目標(biāo)主機(jī)和擁有針對(duì)若干不同特殊主機(jī)的 DNS 入口。window.name 非常簡單和容易使用。
它不需要任何插件(比如 Flash)或者替代技術(shù)(例如 Java)。
相關(guān)文章
js利用數(shù)組length屬性清空和截短數(shù)組的小例子
這篇文章主要介紹了js利用數(shù)組length屬性清空和截短數(shù)組的小例子,有需要的朋友可以參考一下2014-01-01JS基于Ajax實(shí)現(xiàn)的網(wǎng)頁Loading效果代碼
這篇文章主要介紹了JS基于Ajax實(shí)現(xiàn)的網(wǎng)頁Loading效果代碼,通過時(shí)間函數(shù)結(jié)合數(shù)學(xué)運(yùn)算實(shí)現(xiàn)頁面樣式的動(dòng)態(tài)變換技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下2015-10-10JavaScript實(shí)現(xiàn)網(wǎng)頁下拉菜單效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)網(wǎng)頁下拉菜單效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2020-11-11詳解JavaScript私有類字段和TypeScript私有修飾符
這篇文章主要介紹了JavaScript私有類字段和TypeScript私有修飾符,對(duì)私有類感興趣的同學(xué),可以參考下2021-04-04處理JavaScript值為undefined的7個(gè)小技巧
這篇文章主要介紹了處理JavaScript值為undefined的7個(gè)小技巧,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2020-07-07javascript實(shí)現(xiàn)異形滾動(dòng)輪播
這篇文章主要為大家詳細(xì)介紹了javascript實(shí)現(xiàn)異形滾動(dòng)輪播,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2019-11-11