同一web系統,不同端口的跨域問題


部署web系統的時候,發現了跨域問題,子系統是用Iframe嵌入到系統里面的,導致父窗口獲取子系統的webService和圖片時發現跨域問題,如下圖所示:
問題1:父窗口獲取子系統的對象跨域

原因:用這個方式直接傳遞參數會涉及到跨域問題

父窗體傳遞參數:

window.MonitorStationInfo.ID= selectedRow.ID;//父窗體傳遞參數

子窗體獲取參數:

var pointid=window.parent.parent.MonitorStationInfo.ID//子窗體獲取參數

解決辦法:使用Cookie傳遞參數

父窗體傳遞參數:

document.cookie = "pointid=" + escape(row.MonitorID);//父窗體通過Cookie保存參數

子窗體獲取參數:

  var arr = document.cookie.match(new RegExp("(^|)pointid=([^;]*)(;|$)"));
  var pointid = unescape(arr[2]);//子窗體獲取父頁面通過Cookie傳遞過來的參數

 

問題2:在父窗體顯示子系統來源的圖片跨域


再點擊子窗口里面的圖片時,會在父窗口彈出放大的圖片,如下圖所示:

點擊前: 

 

點擊后

 

實際效果:

原因:

在使用jquery動態加載放大的圖片時,我是使用系統頂層的document(top.document)來操作dom的

這樣會在父窗體顯示放大的圖片導致跨域

解決辦法:

讓放大的圖片在子系統中顯示:在使用jquery動態加載放大的圖片時,使用子系統的document(window.parent.document)來操作dom的

 


免責聲明!

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



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