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

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

其實這個方法還能夠解決不少方面的跨域操做,如下兩點爲我工做中遇到的狀況!跨域

好比A系統中打開B系統頁面的時候,獲取B系統頁面高度,A系統中能夠動態設置窗口的高度url

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

 

下面爲你們講下是如何實現該方法的blog

1.在A系統下添加名稱爲blank.html的空白頁面,注意不須要任何內容,由於只須要在裏面添加js代碼便可!iframe

 

2.而後咱們在A系統的Home/Index頁面下嵌入ifrme路徑指向B系統的Home/Index頁面,而且加上自定義參數url,url就爲剛纔添加的A系統的空白頁面,iframe記得添加name和id屬性,方便接下來的操做!hash

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

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

相關文章
相關標籤/搜索