iframe之后的任何HTML代码都不是使用document.write执行的

Hoq*_*que 5 javascript browser iframe document.write

当我试图在IE中使用documnet.write插入iframe时,我获得了成功.但是,之后的任何html代码都不会被执行.

document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>");
Run Code Online (Sandbox Code Playgroud)

这里"Bye Bye"字符串未执行.

要立即检查,您可以输入您的浏览器网址

javascript:document.write("<div>Hello</div><iframe ..../><div>Bye Bye</div>");
Run Code Online (Sandbox Code Playgroud)

经过反复试验后,我发现如果我按照以下方式关闭iframe标签,它就能正常工作.

<iframe ...></iframe> instead of <iframe  ...  />
Run Code Online (Sandbox Code Playgroud)

现在的问题是:"我没有任何机会改变<iframe ../><iframe .. ></iframe>".寻找你的好意见.

Bri*_*van 2

如果允许您在发送之前更改字符串,那么document.write您可以自己修改标记,如下所示:

markup = "<div>Hello</div><iframe ..../><div>Bye Bye</div>"
markup = markup.replace(/<iframe([^>]*?)\/>/g, '<iframe$1></iframe>')
document.write(markup);
Run Code Online (Sandbox Code Playgroud)