代码之家  ›  专栏  ›  技术社区  ›  Pasta

将网站保留在iframe中

  •  0
  • Pasta  · 技术社区  · 15 年前

    某些网站,如Twitter、Flickr等,避免陷入iframe。有什么办法阻止这种情况发生吗?我只需要查看公共数据,就可以禁用javascript等。如何禁用在iframe上运行的javascript?这有可能吗?

    2 回复  |  直到 15 年前
        1
  •  1
  •   Pekka    15 年前

    不能在iframes或任何其他资源afaik上禁用javascript。

    要做到这一点,唯一可靠的方法是通过代理PHP或其他服务器端脚本加载站点,过滤掉任何javascript(这将破坏许多站点),并修复对图像和其他媒体的所有相对引用——如果您希望站点实际工作,完成这项任务需要花费大量的时间。

    如果您只需要一些来自站点的数据,代理可能会起作用。既然相同的源站策略会阻止您从不同的域获取任何来自iframe的内容,那么它也是使用javascript访问这些站点上内容的唯一方法。

        2
  •  1
  •   bobince    15 年前

    仅在IE中,有 <iframe security="restricted"> 属性。这将禁用目标文档中的javascript,这将破坏JS帧转义脚本___以及所有与脚本相关的其他交互。

    但是,除了浏览器兼容性问题之外,构建一个不希望被框架化的站点是非常不礼貌的,而且随着更多站点的部署,它的工作将越来越少。 X-Frame-Options .

    我不知道你所说的“需要看公共数据”是什么意思。正如Pekka所说,您将无法从外部看到iframe的dom,因为这将是一个安全问题。