如下代碼只是爲演示該方法具體是如何操做的,實際的意義並不大。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請求