javascript - 使用 JavaScript 访问框架的文档对象

标签 javascript html dom frame

我正在测试 this page ,我不确定我错过了什么。

// Two frames on the page
> document.getElementsByTagName("frame").length
2

// Same domain, so no security restrictions
> document.getElementsByTagName("frame")[0].src
"http://www.quackit.com/html/templates/frames/menu_1.html"
> window.location.href
"http://www.quackit.com/html/templates/frames/frames_example_1.html"

// Can't access the document
> document.getElementsByTagName("frame")[0].document
undefined

这看起来应该可行,那么问题是什么?它需要在 IE8 中运行,但我也在 Chrome(最新稳定版)中进行测试。

最佳答案

获取框架内容的全面方法是使用如下内容:

var theFrame = document.getElementsByTagName("frame")[0];
var theFrameDocument = theFrame.contentDocument || theFrame.contentWindow.document;
var button = theFrameDocument.getElementById("mybutton");

但是,有可能得到 <frame>使用其名称的文档,例如:

window.frames["frame_name"].document

如果 HTML 是:

<frame name="frame_name">...</frame>

关于javascript - 使用 JavaScript 访问框架的文档对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38393706/

相关文章:

php - 在 css 中不正确显示具有 float 属性的 block

javascript - Regex jQuery find ("option:[text^=' "]) 在 ie 8 和 chrome 上出现错误

javascript - 处理 HTTP 状态 Ajax 响应

javascript - 如何使用 Node.js 获取在 Mac 上前台运行的应用程序窗口的坐标?

html - CSS Fixed - 将 HTML 元素保持在适当位置的替代方法

javascript - 我可以使用 Javascript 获取 meta "properties"吗?

javascript - 三个数字的最大值 DOM 操作

javascript - 在 react 中获取总是返回(JSON 中位置 0 处的意外标记 R)

javascript - Chrome v51.0.2704.79 上引入的错误 m 无法清空大选择

css - 尽管像素密度高,但为什么固定高度/宽度的 html 元素在移动设备上呈现的比预期的要大?