通過Iframe在A網站頁面內嵌入空白頁面的方式,跨域獲取B網站的數據返回給A網站!


以下代碼只是為演示該方法具體是如何操作的,實際的意義並不大。

其實這個方法還可以解決很多方面的跨域操作,以下兩點為我工作中遇到的情況!

比如A系統中打開B系統頁面的時候,獲取B系統頁面高度,A系統中可以動態設置窗口的高度

還有A系統中打開B系統頁面的時候,B系統頁面進行一系列操作,操作成功后需關閉A系統窗口,就可以在操作成功后再在B系統中嵌入A系統的blank.html頁面,blank.html頁面打開的時候,動態關閉A系統的窗口!

 

下面為大家講下是如何實現該方法的

1.在A系統下添加名稱為blank.html的空白頁面,注意不需要任何內容,因為只需要在里面添加js代碼即可!

 

2.然后我們在A系統的Home/Index頁面下嵌入ifrme路徑指向B系統的Home/Index頁面,並且加上自定義參數url,url就為剛才添加的A系統的空白頁面,iframe記得添加name和id屬性,方便接下來的操作!

3.這里會請求B系統的HomeController控制器下的Index動作,接收到傳遞過來的url參數,通過ViewBag.BlankUrl=url返回到頁面,頁面加載的時候動態獲取頁面的高度,然后在頁面的div元素中再次添加name=iframeBlank的iframe元素並且地址指向ViewBag.BlankUrl也就是A系統的空白頁面,並通過"#"字符分割需要的參數傳遞過去,符號可以自定義!

4.A系統通過Iframe嵌入B系統Home/Index頁面的同時時,B系統又同時在頁面嵌入A系統的blank.html頁面以及B系統傳遞回來的數據,由於iframe的特殊屬性需通過以下方式獲取返回的數據  var data= window.parent.parent.frames["myframe"].frames["iframeBlank"].location.hash


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM