【问题标题】:Set data attribute value in iframe that has cross origin在具有交叉原点的 iframe 中设置数据属性值
【发布时间】:2016-03-03 06:35:35
【问题描述】:

因此,我将对我的动机非常诚实。我正在使用许多视频流媒体网站之一……它具有高质量的内容,但是它有大量的弹出窗口,并且当我的广告拦截器打开时它不起作用。

我一直在尝试在加载页面时禁用广告,但我无法设置 iframe 内的属性值。

我可以使用以下方法选择 iframe 本身:

window.frames[x]

但是,一旦我尝试做任何事情,例如

window.frames[1].getElementByClassName('classname').length

我在控制台日志中收到一条错误提示

Uncaught DOMException: Blocked a frame with origin 
"http://url.com"   from accessing a cross-origin frame.

关于如何规避此问题的任何建议?我看过类似的帖子,但大多数人都在尝试与他们在自己的网站上使用的 iframe 进行交互,我想使用 chrome 扩展程序为我正在访问的网站注入 js onload。

我想我不能这样做的原因与安全限制有关,但我认为值得一试。

【问题讨论】:

  • 你可以使用 postMessage
  • 你能举个例子吗?
  • 我也在等待@DanielA.White :) 因为我没有对您无法控制的页面执行此操作。是的,出于安全原因。
  • 发帖消息不是还需要双方放宽对对方的安全吗?

标签: javascript html iframe


【解决方案1】:

做到这一点的唯一方法是设置您自己的本地代理服务器并使用它将您的 JavaScript 注入他们的页面。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2013-04-09
    • 1970-01-01
    • 1970-01-01
    • 2015-04-30
    相关资源
    最近更新 更多