frame報錯 Failed to set the 'href' property on 'Location': The current window does not have permission to navigate the target frame to...


之所以報這個錯的原因是因為你嵌套在iframe中的網頁,居然試圖干掉現在鏈接,重新開一個窗口,為了防止xss攻擊,iframe表示我不同意堅決不同意

iframe默認情況下:

在html5頁面中,可以使用iframe的sandbox屬性,<iframe src="https://wx.tenpay.com?prepay_id=11111">如果未添加sandbox屬性,

或者添加了sandbox但是后面不加任何值,就代表采用默認的安全策略,

即:iframe的頁面將會被當做一個獨自的源,同時不能提交表單,以及執行javascript腳本,也不能讓包含iframe的父頁面導航到其他地方,所有的插件,

如flash,applet等也全部不能起作用。簡單說iframe就只剩下一個展示的功能,

正如他的名字一樣,所有的內容都被放入了一個單獨的沙盒。

sandbox包含的屬性及作用:

allow-forms 允許進行提交表單
allow-scripts 運行執行腳本
allow-same-origin 允許同域請求,比如ajax,storage
allow-top-navigation 允許iframe能夠主導window.top進行頁面跳轉
allow-popups 允許iframe中彈出新窗口,比如,window.open,target=”_blank”
allow-pointer-lock 在iframe中可以鎖定鼠標,主要和鼠標鎖定有關

在iframe加上這個代碼之后sandbox="allow-scripts allow-top-navigation allow-same-origin"只能解決嵌套頁面在本頁面本窗口跳轉頁面的情況,不能解決在frame中新開窗口的問題,

所以,我們讓嵌套iframe不新開窗口,在本頁面刷新解決

點贊👍+關注我吧~

成為更好的自己

 


免責聲明!

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



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