校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃

主頁 > 知識庫 > iframe跨域的幾種常用方法

iframe跨域的幾種常用方法

熱門標簽:智能電銷機器人被禁用了么 黃石ai電銷機器人呼叫中心 惡搞電話機器人 高德地圖標注商戶怎么標 如何查看地圖標注 電話機器人技術 欣鼎電銷機器人 效果 地圖標注軟件打印出來 ok電銷機器人

背景

隨著業務的發展,自然地會有一些公共的業務被抽離成為公共組件共各個項目使用。但是由于各個項目用到的技術棧都有所不同,所以這個公共組件就不能方便地被引用了。為解決這個問題,我們把這個組件寫成了單獨的頁面掛到一個域名下,其他項目采用iframe或者webview的方式去加載這個頁面,從而實現功能的簡單復用。

不過這過程中也產生了很多問題,單是跨域就會出現好幾次了。以下我將會介紹我遇到的跨域問題以及一些解決方法。

為什么會跨域

為了保證用戶信息的安全,95年的時候Netscape公司引進了同源策略,里面的同源指的是三個相同:協議、域名、端口。

違反了同源策略就會出現跨域問題,主要表現為以下三方面:

  • 無法讀取cookie、localStorage、indexDB
  • DOM無法獲得
  • ajax請求無法發送

場景

最近在做一個需求,需要用iframe引入一個別人封裝好的類似視頻播放器的東西。iframe里面有一個全屏的按鈕,點擊后需要頁面讓iframe全屏,由于受到同源策略的限制,iframe無法告訴頁面全屏。

解決辦法

設置domain

document.domain作用是獲取/設置當前文檔的原始域部分,同源策略會判斷兩個文檔的原始域是否相同來判斷是否跨域。這意味著只要把這個值設置成一樣就可以解決跨域問題了。
在此我將domain設置為一級域名的值,a頁面url為a.demo.com,a頁面中iframe引用的b頁面url為b.demo.com,具體設置為

document.domain = 'demo.com'

設置完之后,在a頁面的window上掛載使iframe全屏的方法

// a頁面
window.toggleFullScreen = () => {
    // do something
}

在b頁面上可以直接獲取到a頁面的window對象并直接調用

// b頁面
window.parent.toggleFullScreen()

但是這個值的設置也有一定限制,只能設置為當前文檔的上一級域或者是跟該文檔的URL的domain一致的值。如url為a.demo.com,那domain就只能設置為demo.com或者a.demo.com。因此,設置domain的方法只能用于解決主域相同而子域不同的情況。

使用中間頁面

我們還可以使用一個與a頁面同域名但不同路由的c頁面作為中間頁面,b頁面加載c頁面,c頁面調用a頁面的方法,從而實現b頁面調用a頁面的方法。具體操作如下:

在a頁面的node層新開一個路由,此路由加載一個c頁面作為中間頁面,c頁面的url為a.demo.com/c。c頁面只是一個簡單的html頁面,在window的onload事件上調用了a頁面的方法。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title></title>
</head>
<body>
    <script>
        window.onload = function () {
            parent.parent.toggleFullScreen();
        }
    </script>
</body>
</html>

由于c頁面和a頁面是符合同源策略的,所以可以避開跨域問題,執行全屏的方法。

postmessage

window.postMessage方法可以安全地實現跨源通信,寫明目標窗口的協議、主機地址或端口就可以發信息給它。

// b頁面
parent.postMessage(
    value,
    "http://a.demo.com"
);
// a頁面
window.addEventListener("message", function( event ) {
    if (event.origin !== 'http://b.demo.com') return;
    toggleFullScreen()
 });

為了安全,收到信息后要檢測下event.origin判斷是否要收信息的窗口發過來的。

總結

通過以上的方法,我們就可以和iframe自由通信啦。

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

標簽:赤峰 盤錦 綏化 聊城 阿壩 金昌 萍鄉 中山

巨人網絡通訊聲明:本文標題《iframe跨域的幾種常用方法》,本文關鍵詞  iframe,跨域,的,幾種,常用,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《iframe跨域的幾種常用方法》相關的同類信息!
  • 本頁收集關于iframe跨域的幾種常用方法的相關信息資訊供網民參考!
  • 推薦文章
    校园春色亚洲色图_亚洲视频分类_中文字幕精品一区二区精品_麻豆一区区三区四区产品精品蜜桃
    国产成人在线视频网站| 欧美亚洲禁片免费| 久久久99精品免费观看不卡| 精品无码三级在线观看视频| 久久九九久精品国产免费直播| 韩国成人精品a∨在线观看| 久久伊人蜜桃av一区二区| 国产成人综合亚洲网站| 亚洲欧洲日产国产综合网| 欧美亚洲另类激情小说| 日本午夜精品一区二区三区电影| 欧美不卡在线视频| eeuss鲁一区二区三区| 一区二区三区四区精品在线视频| 欧美网站一区二区| 国模一区二区三区白浆| 亚洲欧美日韩成人高清在线一区| 欧美无砖专区一中文字| 午夜国产精品一区| 国产亚洲综合在线| 99久久精品99国产精品| 亚洲线精品一区二区三区八戒| 日韩欧美高清在线| 成人黄色片在线观看| 亚洲大片免费看| 国产亚洲精品aa午夜观看| 91久久奴性调教| 免费人成精品欧美精品| 亚洲欧洲精品一区二区三区| 欧美美女一区二区在线观看| 高清成人免费视频| 亚洲国产精品精华液网站| 久久蜜桃av一区精品变态类天堂| 日本久久一区二区| 国内欧美视频一区二区| 一区二区三区91| 久久久久久久综合狠狠综合| 欧美少妇性性性| 成人国产在线观看| 青青国产91久久久久久| 亚洲欧美韩国综合色| 2021国产精品久久精品| 欧美亚洲动漫制服丝袜| 成人ar影院免费观看视频| 日韩va欧美va亚洲va久久| 亚洲女人的天堂| 日本一区二区三区久久久久久久久不 | 亚洲精品五月天| 久久综合狠狠综合久久综合88| 欧美午夜在线一二页| 99综合影院在线| 国产麻豆精品theporn| 日韩精品视频网| 一个色在线综合| 《视频一区视频二区| 国产女主播一区| www亚洲一区| 欧美成人乱码一区二区三区| 欧美色男人天堂| 一本色道久久加勒比精品| 成人精品小蝌蚪| 成人午夜激情影院| 高清在线成人网| 懂色一区二区三区免费观看| 狠狠狠色丁香婷婷综合激情| 美女网站色91| 麻豆国产91在线播放| 免费国产亚洲视频| 奇米888四色在线精品| 日韩综合小视频| 偷拍亚洲欧洲综合| 调教+趴+乳夹+国产+精品| 五月天视频一区| 视频一区视频二区中文字幕| 婷婷六月综合亚洲| 热久久一区二区| 久久国产视频网| 国产中文字幕精品| 丁香网亚洲国际| 99国产精品99久久久久久| www.亚洲色图.com| 91美女在线看| 在线免费不卡电影| 欧美精品一二三四| 欧美电影免费观看高清完整版在线观看 | av亚洲精华国产精华精| 99久久婷婷国产综合精品| gogo大胆日本视频一区| 日本高清不卡在线观看| 欧美日韩国产综合一区二区| 6080yy午夜一二三区久久| 日韩三级免费观看| 久久日韩粉嫩一区二区三区| 国产精品区一区二区三区| 亚洲图片欧美激情| 亚洲午夜激情av| 奇米四色…亚洲| 国产成人免费视频网站高清观看视频| 成人av先锋影音| 欧美在线观看一二区| 欧美一区二区在线视频| 26uuu国产在线精品一区二区| 国产欧美一二三区| 亚洲一区二区三区影院| 麻豆精品视频在线| 成人午夜免费电影| 欧美日韩亚洲国产综合| 久久影院午夜片一区| 亚洲美腿欧美偷拍| 奇米色一区二区| voyeur盗摄精品| 欧美精品丝袜久久久中文字幕| 精品日韩99亚洲| 亚洲免费av网站| 美女mm1313爽爽久久久蜜臀| 成人免费视频网站在线观看| 欧美精品丝袜久久久中文字幕| 久久久高清一区二区三区| 亚洲在线一区二区三区| 国产精品夜夜嗨| 欧美亚男人的天堂| 国产欧美一区二区精品仙草咪| 亚洲国产精品久久人人爱蜜臀| 国产精品一区二区在线看| 在线观看亚洲成人| 久久九九全国免费| 日韩一区精品视频| 色94色欧美sute亚洲线路一久| 日韩美女一区二区三区| 一区二区三国产精华液| 国产91精品久久久久久久网曝门| 欧美日韩免费视频| 亚洲天堂免费在线观看视频| 国产在线一区二区综合免费视频| 日本黄色一区二区| 国产精品热久久久久夜色精品三区 | 九九精品视频在线看| 91福利在线播放| 日本一二三四高清不卡| 另类专区欧美蜜桃臀第一页| 91成人网在线| 亚洲婷婷国产精品电影人久久| 精品亚洲aⅴ乱码一区二区三区| 欧美日韩在线直播| 夜色激情一区二区| 色婷婷精品久久二区二区蜜臂av| 国产亚洲美州欧州综合国| 蓝色福利精品导航| 欧美一级免费大片| 亚洲国产aⅴ成人精品无吗| 99精品视频一区二区| 中文字幕欧美三区| 丁香另类激情小说| 国产欧美一区二区三区鸳鸯浴| 久久国产欧美日韩精品| 日韩欧美国产系列| 日本免费新一区视频| 欧美一二三区精品| 亚洲高清免费观看高清完整版在线观看 | 在线观看不卡视频| 91免费观看视频在线| 国产三级精品三级| 国产一二精品视频| 久久精品网站免费观看| 国产一区二区中文字幕| 26uuu国产电影一区二区| 国产一区在线不卡| 久久久精品黄色| 国产成人av在线影院| 精品噜噜噜噜久久久久久久久试看 | 成人小视频免费在线观看| 国产亚洲精品精华液| 国产成人aaaa| 中文字幕在线免费不卡| 99久久精品一区| 亚洲精品一卡二卡| 欧美日韩在线精品一区二区三区激情| 亚洲一区二区综合| 精品视频在线视频| 免费亚洲电影在线| 国产亚洲精品aa午夜观看| 高清久久久久久| 夜夜操天天操亚洲| 国产精品香蕉一区二区三区| 欧美一区二区观看视频| 男男成人高潮片免费网站| 欧美一区国产二区| 国产成人在线影院| 亚洲欧洲精品天堂一级| 欧美日韩视频在线观看一区二区三区| 首页亚洲欧美制服丝腿| 欧美tickling网站挠脚心| 国产伦精品一区二区三区免费| 国产欧美日韩在线视频| 91黄视频在线观看| 精品综合免费视频观看| 国产精品另类一区| 制服丝袜亚洲精品中文字幕| 国产精品羞羞答答xxdd| 亚洲主播在线播放|