【发布时间】:2018-01-06 12:56:42
【问题描述】:
我知道有几个类似的问题,但我在尝试实施他们的解决方案时遇到了一些问题。
我有 2 个html 页面。第一个有一个包含第二页的iframe。我希望第一页能够通过 iframe 从第二页获取 textarea 的值。
问题来了。这两个文件都在我计算机上的同一目录中,但出现此错误:Uncaught DOMException: Blocked a frame with origin "null" from accessing a cross-origin frame.
JavaScript:
window.onload = function(){
var f = document.getElementById("text-box-iframe").contentWindow;
var innerDoc = f.contentDocument || f.contentWindow.document;
}
HTML:
<iframe id="text-box-iframe" src="text-box.html"></iframe>
所以这是我的两个问题:为什么这段代码无法访问iframe 的页面(第 2 页),我需要做些什么来解决这个问题?
IDK 如果这有帮助,但这是第二页的代码:
<textarea id="text-box"></texarea>
请不要推荐任何插件或库。我希望在 JavaScript/HTML(没有 jQuery)中得到这个答案,并且我不想使用 postMessage 在页面之间进行通信。我几乎 100% 确定这种方法会起作用,我只是需要一些帮助才能让它起作用。
提前致谢。
【问题讨论】:
-
你看到this的问题了吗?
-
window.onload在主页加载时触发,可能 iframe 尚未加载? -
没有@JaromandaX,看来他必须启用跨域请求。
-
不,他没有,这两个文件都在我计算机上的同一目录中 - 这是“同源”......除非他使用带有 file:/// 的 Chrome协议(不是 http 或 https)
标签: javascript iframe cross-domain