從iFrame 存取父級URL:限制和解決方法
從iFrame 存取父級框架的URL 可能是一項挑戰,特別是在iFrame 位於不同的子網域上。這是由於跨站腳本 (XSS) 預防措施所施加的安全限制。
從與父框架相同的域和子域存取 iFrame 時,可以使用諸如 Parent 之類的表達式直接存取父級的位置.document.location 或parent.window.location。但是,正如使用者所強調的,當 iFrame 位於不同的子網域上時,此方法會失敗。
為了進一步說明這一點,請考慮pageA.html 託管在http://www.mysite 上提供的範例.com/ 和pageB.html(iFrame)託管在http://qa-www. mysite.com/ 上。嘗試從 pageB.html 檢索父級的 URL 將觸發存取被拒絕錯誤。這證實了子網域也受到跨站點腳本限制。
雖然在這些情況下禁止直接存取父域的 URL,但有一個可以使用的解決方法。要獲取父框架的URL,可以使用以下JavaScript 代碼:
注意:
以上是如何從不同子網域上的 iFrame 取得父頁面的 URL?的詳細內容。更多資訊請關注PHP中文網其他相關文章!