麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 編程 > HTML > 正文

詳解html5 postMessage解決跨域通信的問題

2024-08-26 00:20:55
字體:
來源:轉載
供稿:網友

本文介紹了詳解html5 postMessage解決跨域通信的問題,分享給大家,具體如下:

效果圖

html5,postMessage,跨域通信

postmessage解析HTML5提供了新型機制PostMessage實現安全的跨源通信. 語法 otherWindow.postMessage(message, targetOrigin, [transfer]);

otherWindow: 其他窗口的一個引用, 比如IFRAME的contentWindow屬性, 執行,window.open返回的窗口對象. message: 將要發送到其他窗口的數據. targetOrigin:通過窗口的origin屬性來指定哪些窗口能接收到消息事件, 其值可以是字符”*”(表示無限制)或者一個URL transfer:是一串和message同時傳遞的Transferable對象. 這些對象的所有權將被轉移給消息的接收方, 而發送一放將不再保有所有權.element.addEventListener(event,fn,useCaption ); 三個參數 event 事件 比如click mouseenter mouseleave 回調函數 useCaption用于描述是冒泡還是捕獲。默認值是false,即冒泡傳遞。 當值為true,就是捕獲傳遞。實現方式

主界面 main.html

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>跨域數據訪問</title>  <script type="text/javascript">         window.addEventListener('message',function(e){           console.log("e--->",e);           const data = e.data;           document.getElementById('main1').style.backgroundColor=e.data;         },false)  </script></head><body>  <div id="main1" style="width:200px;height:200px;margin:100px;border:solid 1px #000;">     我是主界面,等待接收iframe的傳遞  </div>  <div style="margin:100px;">     iframe     <iframe src="http://localhost:3000/iframe.html" width="800px" height="300px" ></iframe>  </div></body></html>

iframe界面

<!DOCTYPE html><html lang="en"><head>  <meta charset="UTF-8">  <meta name="viewport" content="width=device-width, initial-scale=1.0">  <meta http-equiv="X-UA-Compatible" content="ie=edge">  <title>Document</title>    <style type="text/css">           html,body{               height:100%;               margin:0px;           }    </style></head>  <body style="height:100%;">        <div id="frame" style="height:200px; width:200px;background-color:rgb(204, 204, 0)" onclick="changeColor()">           點擊改變顏色        </div>        <script type="text/javascript">             function changeColor(){               var frame = document.getElementById('frame');               var color=frame.style.backgroundColor;               if(color=='rgb(204, 102, 0)'){                   color='rgb(204, 204, 0)';               }else{                   color='rgb(204,102,0)';               }                console.log("frame===>",frame);                console.log("color",color);               frame.style.backgroundColor=color;               window.parent.postMessage(color,'*');             }        </script>  </body></html>

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持VeVb武林網。


注:相關教程知識閱讀請移步到HTML教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 羞羞色在线观看 | 国产午夜亚洲精品午夜鲁丝片 | 欧美日韩亚洲国产精品 | 99激情| 日韩视频www | 懂色av懂色aⅴ精彩av | 精品久久久久久久久中文字幕 | 国产精品二区高清在线 | 日本黄色大片免费 | 成人免费福利网站 | 亚洲综合精品成人 | www.91在线| 日韩免费黄色 | 黄色a级片免费观看 | 久久国产精品一区 | 亚洲午夜网站 | 中文字幕偷拍 | 国产1区在线观看 | 久久亚洲春色中文字幕久久 | 免费在线看黄 | 成人午夜在线观看视频 | 久久精品国产亚洲7777小说 | 免费看一级毛片欧美 | 福利在线免费视频 | 伊人二本二区 | 最污网站| 成人黄色小视频网站 | 亚洲精品一区二区三区大胸 | 蜜桃精品视频在线观看 | 欧美乱码精品一区 | 日本黄色不卡视频 | 一区www| 欧美成人精品一区二区 | 久久久久国 | 西川av在线一区二区三区 | 色婷婷av一区二区三区久久 | 一区二区三区在线观看av | 久久国产精品影视 | 亚洲日韩中文字幕一区 | 精品国产一区二区三区在线观看 | 中文字幕国产欧美 |