Twitter,Flickr等某些网站避免被卡在iframe中。有没有办法阻止这种情况发生?我只需要查看公共数据,因此我可以禁用Javascript等。如何禁用在iframe上运行的Javascript?这可能吗?
答案 0 :(得分:1)
您无法在iFrame或任何其他资源AFAIK上停用JavaScript。
可靠地执行此操作的唯一方法是通过代理PHP或其他服务器端脚本加载站点,过滤掉任何JavaScript(这将破坏许多站点),并修复对图像和其他媒体的所有相关引用 - 如果您希望网站真正有效,那么任务需要花费大量时间才能完成。
如果您只是需要来自网站的一些数据,代理可能会有效。看作同源策略会阻止您从其他域中获取IFRAME中的任何内容,它也是使用JavaScript访问这些站点上的内容的唯一方法。
答案 1 :(得分:1)
仅在IE中,有<iframe security="restricted">
属性。这将禁用目标文档中的JavaScript,这将破坏JS框架转义脚本 - 以及与脚本相关的所有其他交互。
然而,除了浏览器兼容性问题之外,构建一个不想被框架的网站是非常粗鲁的,随着更多网站部署X-Frame-Options
,它将越来越少地工作。
我不确定你的意思是“需要查看公共数据”...正如Pekka所说,你将无法从外部“看到”iframe的DOM,因为那将是一个安全问题。