Messager 跨域解決方案

2021-07-09 05:58:13 字數 797 閱讀 6682

網上別人資源,自己記錄防止忘記

該方案使用messager 做為跨域的信使,

1、主頁面使用iframe對子頁面進行載入

2、在主頁面中新增js

(1)構造信使messager

var messenger = new messenger('child', 'messengerdemo');

(2)在父頁面新增對子頁面訊息的監聽,

messenger.listen(function (msg) );

(3)要向子頁面傳送訊息,就要先新增子頁面的window的物件

messenger.addtarget(iframe1.contentwindow, 'iframe1');

3、在子頁面中新增js,在子頁面中新增的js也和父頁面中相同

注意:在父頁面中新增目標(messenger.addtarget(object,"name"))一定要保證object是有效的,如

messenger.addtarget(document.getelementbyid('iframe1').contentwindow, "name");

這局話一定要放在之後

將主頁面和子頁面進行通訊是,子頁面中messenger.addtarget(object,"name")和父頁面中的new messenger('name', 'messengerdemo')中name必須相同;

父頁面中的messenger.addtarget(object,"name")和子頁面中的new messenger('name', 'messengerdemo')的name必須相同才能進行訊息傳遞。

跨域解決方案

因為瀏覽器出於安全考慮,有同源策略。也就是說,如果協議 網域名稱或者埠有乙個不同就是跨域,ajax 請求會失敗。那麼是出於什麼安全考慮才會引入這種機制呢?其實主要是用來防止 csrf 攻擊的。簡單點說,csrf 攻擊是利用使用者的登入態發起惡意請求。也就是說,沒有同源策略的情況下,a 可以被任意其他...

跨域解決方案

瀏覽器端的同源策略 如果兩個頁面的協議,埠和網域名稱中的其中任意乙個不相同,它們就是不同源的,瀏覽器會限制他們之間的資源互動 跨域 跨域的安全限制只針對瀏覽器,伺服器是沒有跨域的安全限制的 原理 由於伺服器沒有跨域限制,所以在需要跨域訪問時,在中間設定乙個中間層 舉例 192.168.10.1 80...

跨域解決方案

後端解決跨域的主要方式是,通過在響應頭中設定相關的跨域字段,用於告訴瀏覽器允許跨域請求資源。在前後端分離的場景中,登入頁面存在後端伺服器中,當登入成功後,需要發起跳轉請求,跳轉至前端首頁的情況。nginx響應頭相關配置 可指定匹配路徑,並不一定需要在location 下配置 在前後端分離的場景中,由...