我有一个 html 框架集 <frameset name="home" id="home" ...>
和
我想使用 JS 向其附加一个新框架。于是我写了这段代码:
var newFrame = document.createElement("frame");
newFrame.id = "myNewFrame";
newFrame.name = "myNewFrame";
newFrame.src = "/myRelativeUrl.html";
var domFrameset = document.getElementById("home");
if (domFrameset) {
domFrameset.appendChild(newFrame);
}
它在现代浏览器中按预期工作,但在 IE8 中却不然。它创建框架标签,但不执行请求。
最佳答案
经过一天的研究但没有得到任何回复,我确信这个问题没有解决方案。
但最终我想出了一个解决问题的解决方案:
使用 <frameset>
时和<frame>
,您需要将 rows 属性应用于框架集,以便在其中正确显示框架。 您必须在建立新帧的 SRC 参数之前编辑此属性!
HTML:
<frameset name="home" rows="95,*">
<frame name="frame1" src="/menu.html"/>
<frame name="frame2" src="/main.html"/>
</frameset>
使用 JS 添加新框架(IE8 也适用):
var newFrame = document.createElement("frame");
newFrame.id = "myNewFrame";
newFrame.name = "myNewFrame";
var domFrameset = document.getElementById("home");
if (domFrameset) {
domFramset.rows = "95,*,100"; //<-- This is the key
domFrameset.appendChild(newFrame);
newFrame.src = "/myRelativeUrl.html"; //<-- Set SRC after appending
}
希望这可以帮助遇到同样问题的人-
关于javascript - 如何使用 javascript 在 IE8 中创建新框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30174973/