如何使用userscript将帧添加到现有框架集?

时间:2014-08-30 09:56:24

标签: javascript frames userscripts frameset

目标网页有一个简单的HTML设置:

<html>
<body>
    <frameset id="mainset" rows="50%,50%">
    ...
    </frameset>
</body>
</html>

我希望使用JavaScript添加框架。


这不起作用:

var parent = document.getElementsByTagName("frameset")[0];
var child = document.createElement("frame");
child.src = "about:blank";
child.style = "background-color: red;";

parent.appendChild(child);

这确实有效,但它会创建一个iframe:

var parent = document.getElementsByTagName("body")[0];
var child = document.createElement("iframe");
child.src = "about:blank";
child.style = "background-color: red;";

parent.appendChild(child);

有没有办法使用javascript将框架添加到框架集?

很抱歉,如果之前已经提出这个问题。我搜索并找到了很多解决方案。对于有类似问题的人,但那些似乎不适用于此。

目标页面如下所示:

screenshot

1 个答案:

答案 0 :(得分:0)

仅添加新的<frame>是不够的。您还必须调整包含rows的{​​{1}}或cols属性。

此外,如果框架集具有<frameset> 使用 ,而不是尝试按标记名获取节点。 (ID很快且独特。)

这样的代码可以使用(现在):

您可以 see the code in action at this jsBin

id