【发布时间】:2014-12-07 09:35:55
【问题描述】:
我正在尝试为特定需求制作自己的“网站检查器”,但在访问 iFrame 时遇到问题。
未捕获的安全错误:无法读取“contentDocument”属性 来自“HTMLIFrameElement”:阻止了一个带有来源“http://”的框架 checker.xcore.co.il”从访问来源为“http://”的框架 xcore.co.il”。请求访问的框架将“document.domain”设置为 “checker.xcore.co.il”,但被访问的框架没有。两者都必须 将“document.domain”设置为相同的值以允许访问。
我必须使用 iFrame 执行此操作,因为我需要访问 CSS 类。 Click on this link,加载网站然后点击右边的“fontSizeErrors” 然后就可以在控制台日志中看到错误了。
请问我该如何通过?我在 Google 上找不到任何有用的东西..
谢谢!
【问题讨论】:
-
称为html同源策略。 en.wikipedia.org/wiki/Same_origin_policy。出于安全原因,即使a.example.com 也无法访问来自b.example.com 的数据。
-
你不能绕过它,除非你可以访问两个域并且可以设置
document.domain在两个域中都匹配 -
通过 tampermonkey 或 greasmonkey 在实际页面上运行您的脚本,而不是使用 iframe 在您自己的页面上运行。
-
人们如何制作诸如wave.webaim.org之类的网站检查器?必须有一种方法可以提取每个类的 CSS
标签: javascript jquery iframe