所以我将对我的动机非常诚实。我正在使用众多视频流媒体网站之一......它有高质量的内容,但是它有大量的弹出窗口,并且当我的广告拦截器打开时它不起作用。
我一直在尝试在加载页面时禁用广告,但无法设置 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 扩展为我正在访问的网站注入(inject) js onload。
我想我不能这样做的原因与安全限制有关,但我认为值得一试。
最佳答案
做到这一点的唯一方法是设置您自己的本地代理服务器并使用它将您的 JavaScript 注入(inject)到他们的页面中。
关于javascript - 在具有跨源的 iframe 中设置数据属性值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35690964/