2010-05-21 90 views
0

某些網站(如Twitter,Flickr等)不會被卡在iframe中。有什麼辦法可以阻止這種情況發生?我只需要看到公開的數據,所以我打開禁用Javascript等。我如何禁用Javascript在iframe上運行?這可能嗎?在iframe中保留網站

+1

作爲一個用戶或者您試圖陷入頁面的開發者,我會強烈地考慮狩獵你,並且堅持*你*在一個框架中這樣做。 – 2010-05-21 12:38:39

回答

1

您無法禁用iFrame上的JavaScript或任何其他資源AFAIK。

可靠地做到這一點的唯一方法是通過代理PHP或其他服務器端腳本加載網站,過濾掉任何JavaScript(這將打破許多網站),並修復所有相關引用圖像和其他媒體 - 如果您希望網站實際工作,那麼這項任務將花費大量的時間完成。

如果你只是需要來自網站的一些數據,代理可能工作。看到「相同原產地策略」會阻止您從不同域的IFRAME獲取任何內容,但它也是使用JavaScript訪問這些網站上內容的唯一方式。

+0

這是我最終選擇使用的方法。此外,使用onbeforeunload你將能夠檢測到想要爆發的網站。 – Pasta 2010-05-25 15:03:00

1

僅在IE中,有<iframe security="restricted">屬性。這會禁用目標文檔中的JavaScript,這會破壞JS框架轉義腳本 - 以及與腳本相關的所有其他交互。

但是,除了瀏覽器兼容性問題,構建不想被構建的網站非常不禮貌,而且隨着更多網站部署X-Frame-Options,它將越來越少。

我不確定您的意思是「需要查看公共數據」......正如Pekka所說,您無法從外部看到iframe的DOM,因爲這將是一個安全問題。