父子窗口跨域調用返回值無權限問題

問題:Open打開的子窗口,程序按流程運行,返回值時出現”沒有權限”錯誤
錯誤原因:程序流程以及運算數據均正確,最後在返回值時出錯。經分析發現父子窗口是跨域調用,但沒有做跨域處理
解決方式:設置方式兩個頁面爲同一域。設置辦法:在父窗口中,打開跨域的子窗口前以及子窗口中返回值前設置document.domain="domain";//eg.'eecn.cn'。另外域名設置一次後不允許再設置回原來的域,也就是隻能設置一次
小結:Javascript是在客戶端運行的,出於安全性考慮,跨域的訪問受到限制(sandbox)。AJAX應用經常會跨域,除此外父子窗口也會有跨域調用,如window.open打開的一個有返回值的子頁面。此時要完成值的回傳,需要在父子頁面中做跨域處理,需要設置在同一個域名之下,否則會出現“沒有權限”的JS錯誤
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章