javascript动态地将javascript添加到iframe

时间:2010-06-09 11:31:11

标签: javascript iframe

下面的代码会动态添加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);

3 个答案:

答案 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)和网络钓鱼攻击。