有没有办法阻止出现在 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/