我有一个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>
答案 0 :(得分:0)
您可以在Firefox中使用.documentWindow.location.href
或在Chrome中使用.contentDocument.location.href
访问iframe的当前网址。使用.src
,您将始终使用src
HTML属性或通过JavaScript获取最后一个以编程方式更改的网址。
说了这么多,如果iframe中的网址与执行JavaScript代码的网站的域不同,则您无法访问documentWindow
或contentDocument
以下的任何内容。
这适用于普通浏览器。如果您确实需要,可以尝试Electron。基本上,使用电子,您可以构建自己的浏览器,没有任何安全限制。但只有你会使用它,而不是你网站的访问者,而且并不简单。