将javascript注入iframe的最佳方法

时间:2012-11-23 21:29:13

标签: javascript html html5 iframe web

我正在尝试将javascript注入iframe,但没有任何效果。我已经花了几天时间处理这个问题,如果有人能给我一些提示,那就太棒了。

主题的例子:

example.html

<html>
<head>

</head>
<body>
<iframe src="http://example.com/test.html" id="myFrame">
</iframe>
</body>
</html>

test.html

<html>
<head>

</head>
<body background="./bg.jpg">
<p >Text </p>
<p >(<i>Something</i>)<br><img src="./img1.gif" align="left">Text</p>´
</body>
</html>

test.html的所需输出:

<html>
<head>
<script type="text/javascript"> src="myscript.js</script>
</head>
<body background="./bg.jpg">
<p >Text </p>
<p >(<i>Something</i>)<br><img src="./img1.gif" align="left">Text</p>´
</body>
</html>


我试过这个,但它不起作用:

example.html

<html>
<head>

<script type="text/javascript">
var rawframe = document.getElementById('myFrame');
var doc = rawframe.contentDocument;
if (!doc && rawframe.contentWindow) {
    doc = rawframe.contentWindow.document;
}
var script = doc.createElement('script');
script.type = "text/javascript";
script.src = "myscript.js";
document.body.appendChild(script);
</script>

</head>
<body>
<iframe src="http://example.com/test.html" id="myFrame">
</iframe>
</body>
</html>

谢谢大家的帮助。

3 个答案:

答案 0 :(得分:1)

不幸的是,我不相信这是可能的。我知道我之前尝试过这些方法,但由于安全原因,浏览器阻止了它。

答案 1 :(得分:1)

您将脚本附加到父页面的文档,而不是框架页面。

答案 2 :(得分:0)

我不确定这是否可以实现,但我看到的一个问题是时机。 你可以在加载iframe的内容之前运行javascript代码,对吗?