Javascript - 检测iframe

时间:2017-04-03 22:19:15

标签: javascript html

我有一个iframe,我想运行一个javascript函数,如果iframe使用window.location / window.open更改位置

我尝试了这个,但它不起作用:/

<iframe src="http://www.example.com/" onload="myFunction()" id="iframe">   </iframe>
<p>If this iframe ^^^^ changes location on a window.location/ window.open, I want the alert to go off</p>
<script>
function myFunction() {
alert(document.getElementById('iframe').src)
}
</script>

function myFunction() {
alert(document.getElementById('iframe').src)
}
<iframe src="http://www.example.com/" onload="myFunction()" id="iframe"></iframe>
<p>If this iframe ^^^^ changes location on a window.location/ window.open, I want the alert to go off</p>

1 个答案:

答案 0 :(得分:0)

您可以在Firefox中使用.documentWindow.location.href或在Chrome中使用.contentDocument.location.href访问iframe的当前网址。使用.src,您将始终使用src HTML属性或通过JavaScript获取最后一个以编程方式更改的网址。

说了这么多,如果iframe中的网址与执行JavaScript代码的网站的域不同,则您无法访问documentWindowcontentDocument以下的任何内容。

这适用于普通浏览器。如果您确实需要,可以尝试Electron。基本上,使用电子,您可以构建自己的浏览器,没有任何安全限制。但只有你会使用它,而不是你网站的访问者,而且并不简单。