我正在開發一個Web應用程序。 在這個Web應用程序中,我必須從iframe中的不同服務器(例如:www.xyz.com)加載網頁。但有時,當我嘗試從iframe中的某個不同服務器加載網頁時,服務器會用位置標題字段中的重定向鏈接以HTTP狀態代碼302(代表重定向)進行響應。發生這種情況時,主窗口(我的web應用程序)被重定向,而不是僅在iframe中發生重定向。我怎樣才能確保重定向只發生在iframe而不是主窗口?HTTP在iframe中重定向而不是在父窗口中重定向
2
A
回答
6
使用沙箱= 「...」
- 允許表單允許表單提交
- 允許,彈出窗口允許彈出窗口
- 允許指針鎖定允許指針鎖定
- 允許-same-起源允許文檔保持其原點
- allow-scripts允許JavaScript執行,並且還允許功能自動觸發
- 允許頂部導航允許文檔導航的頂層窗口
頂部導航是要防止什麼打出來的框架,所以離開了這一點,它不會被允許。任何遺漏將被阻止
ex。
<iframe sandbox="allow-same-origin allow-scripts allow-popups allow-forms" src="http://www.example.com"</iframe>
+0
這不會在iframe中導航,而是執行實際的彈出窗口。不要以爲這是問題。 –
0
的問題不在於你的重定向,但對之前發生的事情:我想在用戶提交表單,通過POST
和web服務器回覆302重定向按照最佳做法。
如果一個<form>
的action
屬性指向另一個頁面,其答案將重定向頂部 iframe。我找不到任何參考文件說明這種行爲,但這是它在當前瀏覽器中的作用。
的解決方案是將target
屬性設置爲_self
:
<iframe>
...
<form action="http..." target="_self" >
...
</iframe>
的屬性不會在這裏幫助,您可能要忽略的屬性,或者至少設置allow-forms allow-navigation
。
相關問題
- 1. iFrame中的Response.Redirect(),重定向父窗口
- 2. window.location防止iframe重定向父窗口
- 3. 從iframe動作重定向父窗口
- 4. 從iFrame重定向父窗口
- 5. 重定向父窗口
- 6. 在Opera中重定向iframe的父項
- 7. Iframe payone重定向父母
- 8. 從iFrame重定向父級
- 9. 重定向從iframe來主窗口
- 10. Iframe/Popup重定向打開窗口
- 11. 從iframe重定向到新窗口
- 12. grails modalbox重定向回父窗口
- 13. 重定向到鏈接的父窗口
- 14. HTTP重定向不重定向
- 15. 關閉彈出窗口並重定向到父窗口在Struts2
- 16. 通過'強制'重定向到父窗口避免iframe?
- 17. 重定向iframe
- 18. Iframe重定向
- 19. dup2而不是重定向
- 20. phpmyadmin在iframe被重定向
- 21. 模態窗口重定向
- 22. 子窗口重定向
- 23. JavaScript重定向 - 新窗口
- 24. 窗口重定向混亂
- 25. 重定向網址是iframe
- 26. 301重定向 - 重定向父級,但不是子級
- 27. 重定向而不是在移動
- 28. 從加載重定向網站的彈出窗口重定向父網頁?
- 29. 單擊按鈕重定向而不是在新窗口中打開
- 30. 重定向不是重定向
這不可能在服務器端只重定向。我敢打賭,你在iframe中包含的網站有一個特殊的保護措施,當它檢測到它只是簡單地使用JavaScript來突破iframe並重新加載父項。您可以做的最好的事情是與您嘗試在iframe中顯示的網站的所有者進行交談。 –