我有一個網站託管在外部服務器上,我希望能夠從本地開發環境(本地主機)運行它(在iframe中)。不幸的是,當我嘗試使用iframe加載頁面時,我在框架內容中收到「此內容無法在框架中顯示」消息。我該如何解決這個問題?如何讓我的網站嵌入到iframe中?
使用iframe的本地網站是傳統的asp,而託管在外部服務器上的網站是MVC4。我只在嘗試iframe MVC4網絡應用程序時出現錯誤。當我嘗試iframe與MVC4應用程序位於同一服務器(相同域)上的經典asp網站時,我沒有遇到任何錯誤。
我有一個網站託管在外部服務器上,我希望能夠從本地開發環境(本地主機)運行它(在iframe中)。不幸的是,當我嘗試使用iframe加載頁面時,我在框架內容中收到「此內容無法在框架中顯示」消息。我該如何解決這個問題?如何讓我的網站嵌入到iframe中?
使用iframe的本地網站是傳統的asp,而託管在外部服務器上的網站是MVC4。我只在嘗試iframe MVC4網絡應用程序時出現錯誤。當我嘗試iframe與MVC4應用程序位於同一服務器(相同域)上的經典asp網站時,我沒有遇到任何錯誤。
據Mozilla Developer Network,有哪些均可支持<frame>, <iframe> or <object>
元素三個選項:
- X框選項:DENY
- X框選項:SAMEORIGIN
- X-幀選項:允許來自https://example.com/
第一個和最後一個絕對不是你需要的。 我試圖用一個本地服務器用來訪問另一個本地服務器:
X-Frame-Options: ALLOW-FROM http://localhost/
但我得到了響應:'allow-from http://localhost/' is not a recognized directive. The header will be ignored.
它排序的工作,因爲頭被忽略,但你必須評估這是否適合您的網站。在這種情況下,請求服務器不發送該頭部會更簡單。但只有在瞭解了項目的後果後才能做到這一點。
在IIS它可以通過web.config
加上:
對於阿帕奇,看到this topic。
記住,它是由Web瀏覽器兌現頭。 Mozilla甚至稱:
只有當訪問文檔的用戶正在使用支持X-Frame-Options的瀏覽器時纔會提供增加的安全性。
我相信Edge比Webkit更受這個規則的限制。
原來是修復的是使用SuppressXFrameOptionsHeader來確保XFrameOptionsHeader設置不會被自動覆蓋。
我測試了X-Frame-Options,但沒有奏效。有趣的是,當我嘗試在iframe中對我的MVC4 Web應用程序進行iframe時,我只收到錯誤消息。如果我切換到與MVC4 Web應用程序位於同一服務器上的.asp頁面,則不會顯示獲取iframe內容的問題。我將編輯我的問題,以便它包含信息。無論如何,謝謝你回答Reuel。 – Peter