javascript - 如何使用 javascript 在 IE8 中创建新框架?

标签 javascript html internet-explorer-8

我有一个 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/

相关文章:

javascript - bootstrap modals 在 windows vista 上的 IE8 上运行速度极慢

javascript - Bootstrap 网格在 IE8 中不工作

javascript - 当 "dragging"Chrome 中的图像时,mouseup 事件未触发

javascript - 避免在第一次更改后更改选择标签

html - 为什么不能在带逗号的长字符串上打断单词?

javascript - WebRTC 视频限制不起作用

.net - 如何使用 WebClient 通过身份验证以编程方式发布到远程网站?

javascript - React-native-snap-carousel 无法正确渲染

javascript - Jquery Date.parse 返回 NaN

javascript dom 检查代码在 IE 上不起作用