1

我正在编写一个 Chrome 扩展程序来更改对 document.all 的调用,以便它可以在 chrome 中使用。

但是,该页面包含一个使用 document.writeln 编写框架集的脚本。框架集由一帧“FrameMain”组成。

我在获取指向 FrameMain 中文档的变量时遇到了困难。

我认为问题是在 chrome 中 document_start 时没有创建 FrameMain,并且在 document_end 发生时没有加载它。

我目前正在使用 document_end 作为我的脚本的起点:

$('FrameMain').ready(function () {
    console.log("ready");
    console.log(parent.frames);
    console.log(parent.frames[0]);
});

看起来框架已加载时会打印就绪,它不会立即显示。
但是, parent.frames 返回一个 DOMWindow 并且 parent.frames[0] 是未定义的。
如何获得对框架内容的引用?

4

1 回答 1

1

解决了。

$('FrameMain').ready(function () {
    console.log("ready");

    $($("frame[name = 'FrameMain']")[0].contentDocument).find("body").append("<h1>Hello frame</h1>");

});

使用框架选择器和contentDocument是关键。

:)

于 2012-05-10T20:18:51.050 回答