下面的代码会动态添加iframe,有没有办法动态地将javascript插入此iframe?
THX
var iFrame = document.createElement('iframe');
var iFrameSRC = "http://www.google.com";
iFrame.name = 'hehe';
iFrame.id = 'hehe';
iFrame.src = iFrameSRC;
iFrame.width = '1px';
iFrame.height = '1px';
iFrame.frameBorder = 0;
iFrame.style.overflow = "hidden";
iFrame.style.align = "left";
iFrame.style.display = "block";
iFrame.style.fontSize = "10px";
bodyInner.appendChild(iFrame);
答案 0 :(得分:2)
我认为会是这样的:
var script=iframe.createElement('script');
script=iframe.standardCreateElement('script');
script.setAttribute('src','http://localhost/jquery-1.3.2.js');
script.setAttribute('type','text/javascript');
iframe.lastChild.firstChild.appendChild(script);
请注意,只要iframe和holder页面位于同一个域中,或者您从bookmarklet或浏览器扩展/插件中调用它,就可以完成此操作。
答案 1 :(得分:2)
这应该有用...... 也许你正试图创造这样的东西:
<body onload="initialize()">
<script language="JavaScript">
function initialize() {
var testFrame =
document.createElement("IFRAME");
testFrame.id = "testFrame";
testFrame.name = 'hehe';
testFrame.src = "http://www.seekload.tk";
testFrame.style.border='20px';
testFrame.style.width='900px';
testFrame.style.height='300px';
testFrame.style.frameBorder = 10;
testFrame.style.overflow = "hidden";
testFrame.style.align = "left";
testFrame.style.display = "block";
testFrame.style.fontSize = "10px";
document.body.appendChild(testFrame);
}
</script>
PS:你在编码时犯了一些错误,试试上面的内容。
答案 2 :(得分:-1)
不,您无法将代码插入另一个域的文档中。这是浏览器强制执行的一项安全措施,用于防止跨站点脚本(XSS)和网络钓鱼攻击。