javascript - 如何阻止 iFrame 中的特定代码行?

标签 javascript jquery html iframe

有没有办法阻止出现在 iFrame 中的第三方网站内执行的特定代码行?

我有一个嵌入式小部件,它正在 iFrame 中加载 JQuery。我不需要额外的网络请求,因为我的网站已经加载了 JQuery。

如果我只能阻止一行代码(在本例中为第 77 行),那么我就可以阻止 JQuery 再次加载。

我想这个操作会在 iFrame 渲染之前发生。

最佳答案

same-origin policy阻止您接触第三方网站 iframe 的任何部分,因此您无法直接执行任何操作来阻止发送该请求。即使可以,iframe 和您的网站也没有共享状态,因此另一个网站很可能会崩溃,因为它无法访问您的 jQuery 实例。想象一下如果您在新选项卡中加载第三方网站但阻止了请求会发生什么。

但是,您可以采取一些措施来确保浏览器使用库的缓存副本,该副本实际上不会向任何地方发送请求:

  • 如果从 CDN 加载外部库,则其他网站很可能已请求相同的网址,以便用户的浏览器拥有该库的缓存副本。
  • 由于您自己使用 jQuery,因此您可以使用其他网站的相同版本的 jQuery。这样,用户的浏览器拥有来自 CDN 的文件的缓存副本,并且不会发出第二次请求。

否则,如果网站使用的是您自己无法使用的旧版 jQuery,或者它是在没有 CDN 的情况下自行托管的,则您无能为力。

关于javascript - 如何阻止 iFrame 中的特定代码行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47685792/

相关文章:

javascript - 隐藏的恶意脚本将代码插入html网页,如何删除/清理?

javascript - 如何在 JQuery 中存储全局变量?

javascript - 关于编码和文本编码的java查询

javascript - 单击插入另一个模板

javascript - 变量范围相关。从不同的函数调用函数中的变量 - 意外的行为/结果

javascript - Opencart 3.0 - 如何使用事件系统从目录 Controller 添加内联 JavaScript 代码?

javascript - 在不同的 html 文件中将 html 从一个元素替换为另一个元素

javascript - Selenium 中的 Xpath

javascript - ajax post成功后,如何使用JQuery .load()方法发送POST请求

css - 一致的 HTML 表格尺寸