摘要:通常,對(duì)于兩個(gè)不同頁(yè)面的腳本,只有當(dāng)執(zhí)行它們的頁(yè)面位于具有相同的協(xié)議通常為,端口號(hào)為的默認(rèn)值,以及主機(jī)兩個(gè)頁(yè)面的模數(shù)設(shè)置為相同的值時(shí),這兩個(gè)腳本才能相互通信。
場(chǎng)景需要:
正文http://a.com -父頁(yè)面,記做A
http://b.com -子頁(yè)面,記做B
B生成的DOM,獲取其屬性,傳值到A
A監(jiān)聽(tīng)事件,獲取監(jiān)聽(tīng)的屬性,傳到B
利用window.postMessage() 方法可以安全地實(shí)現(xiàn)跨源通信。通常,對(duì)于兩個(gè)不同頁(yè)面的腳本,只有當(dāng)執(zhí)行它們的頁(yè)面位于具有相同的協(xié)議(通常為https),端口號(hào)(443為https的默認(rèn)值),以及主機(jī) (兩個(gè)頁(yè)面的模數(shù) Document.domain設(shè)置為相同的值) 時(shí),這兩個(gè)腳本才能相互通信。window.postMessage() 方法提供了一種受控機(jī)制來(lái)規(guī)避此限制,只要正確的使用,這種方法就很安全。
父頁(yè)面 A子頁(yè)面 B
效果
本人不太會(huì)錄屏,就上截圖了
開(kāi)始因?yàn)闆](méi)獲取的值,所以是undefined
文章版權(quán)歸作者所有,未經(jīng)允許請(qǐng)勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請(qǐng)注明本文地址:http://www.ezyhdfw.cn/yun/94518.html
摘要:開(kāi)發(fā)者需要在中設(shè)置屬性為跨域是的簡(jiǎn)稱(chēng)這是一種利用瀏覽器漏洞解決跨域的辦法腳本元素可以不受瀏覽器同源策略的限制。 什么是瀏覽器同源策略? 同源是指,域名,協(xié)議,端口號(hào)均相同,如圖: showImg(https://segmentfault.com/img/bV9rAO?w=1088&h=394); 注意:localhost和127.0.0.1雖然都指向本機(jī),但也是跨域. 瀏覽器同源策略(...
摘要:什么是跨域我們先看下以下場(chǎng)景開(kāi)啟兩個(gè)本地服務(wù)器,頁(yè)面為,其中嵌套了,頁(yè)面想使用頁(yè)面的數(shù)據(jù),例如調(diào)用它的方法,會(huì)報(bào)以下錯(cuò)誤如圖所示,,,譯為協(xié)議主機(jī)和端口號(hào)必須符合,否則,就是跨域??缬虻膸追N常見(jiàn)方案同源策略的限制范圍有以下幾種和無(wú)法讀取。 什么是跨域 我們先看下以下場(chǎng)景:開(kāi)啟兩個(gè)本地服務(wù)器,頁(yè)面A為localhost:9800,其中嵌套了iframeB localhost:9000,頁(yè)...
摘要:由此可以看出,同源策略確實(shí)是必不可少的,那么它會(huì)帶來(lái)哪些限制呢和無(wú)法讀取。由于瀏覽器的同源策略,在網(wǎng)頁(yè)端出現(xiàn)了這個(gè)跨域的問(wèn)題,然而我們發(fā)現(xiàn),所有的屬性并沒(méi)有受到相關(guān)的限制,比如等。 本文按照政治問(wèn)答題必備套路分為以下3個(gè)部分: 為什么要跨域? 跨域是什么? 如何實(shí)現(xiàn)跨域? Section1、為什么要跨域? 自古以來(lái)(1995年起),為了用戶(hù)的信息安全,瀏覽器就引入了同源策略。那么同...
閱讀 3740·2021-11-24 09:39
閱讀 2687·2021-11-15 11:37
閱讀 2468·2021-11-11 16:55
閱讀 5971·2021-10-14 09:43
閱讀 3807·2021-10-08 10:05
閱讀 3109·2021-09-13 10:26
閱讀 2416·2021-09-08 09:35
閱讀 3608·2019-08-30 15:55