将javascript注入iframe的最佳方法
我试图将javascript注入iframe,但没有任何效果。我已经花了好几天时间讨论这个问题,如果有人能给我一些提示,那就太好了 主题示例:将javascript注入iframe的最佳方法,javascript,html,iframe,web,Javascript,Html,Iframe,Web,我试图将javascript注入iframe,但没有任何效果。我已经花了好几天时间讨论这个问题,如果有人能给我一些提示,那就太好了 主题示例: example.html: <html> <head> </head> <body> <iframe src="http://example.com/test.html" id="myFrame"> </iframe> </body> </html> &l
example.html
:
<html>
<head>
</head>
<body>
<iframe src="http://example.com/test.html" id="myFrame">
</iframe>
</body>
</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>
<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>
<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>
来自
test.html
的所需输出:
<html>
<head>
</head>
<body>
<iframe src="http://example.com/test.html" id="myFrame">
</iframe>
</body>
</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>
<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>
<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>
谢谢大家的帮助。不幸的是,我认为这是不可能的。我知道我以前尝试过类似的方法,但由于安全原因,浏览器阻止了它。您将脚本附加到父页面的文档,而不是框架页面。我不确定是否可以实现,但我看到的一个问题是时间。
您应该在加载iframe内容之前运行javascript代码,对吗?如果您指定的域不是您自己的域,则同源策略会阻止您访问iframe内容。不,我没有访问该网站。然后您会被设计锁定。解决方法是将请求代理到url(包含您试图显示的内容)并从您的域中输出。现在iframe将来自您的域。但是,这不是一个好的做法,更不用说您可能会遇到其他安全问题。我认为这是原因,为什么不起作用。但我不确定。