设置动态创建的iframe的基本标签

Setting the base tag of a dynamically created iframe

本文关键字:标签 iframe 创建 设置 动态      更新时间:2023-09-26

我正在尝试动态创建iframe并在创建之前设置它的基本标签。

ifrm = document.createElement("IFRAME"); 
ifrm.setAttribute("src", "test.html"); 
ifrm.style.width = 400+"px"; 
ifrm.style.height = 100+"px"; 
//before creating it, can we set he base tag?
//I.E. <base href="http://example.com/MyFolder/" />
var bt = ifrm.contentDocument.createElement("base");
bt.setAttribute("href", "http://www.example.com/Folder/");
ifrm.contentDocument.getElementsByTagName("head")[0].appendChild(bt);
document.body.appendChild(ifrm);

我知道我可以在iframes src文件本身设置基本标签。但我需要把它放在这里。谢谢。

可以将<base>元素附加到ifrm.contentDocument.getElementsByTagName("head")

你需要通过调用ifrm.contentDocument.createElement("base") 在子文档中创建它例如:

var bt = ifrm.contentDocument.createElement("base");
bt.setAttribute(...);
ifrm.contentDocument.getElementsByTagName("head")[0].appendChild(bt);