2010-06-09 162 views
0

下面的代码将动态添加iframe,有没有一种方法可以动态地将javascript插入到iframe中?javascript将iframe动态添加到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); 

回答

-1

不,你不能代码插入到另一个域上的文档。这是浏览器为防止跨站点脚本(XSS)和网络钓鱼攻击而实施的安全措施。

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和持有人页是在同一个域中,或者如果你从一个书签或浏览器调用此扩展/插件。

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:您在您的编码,而不是尝试上面的一些错误。