我有一个包含iframe的网站,父网站和iframe网页都归我所有。我试图这样做,以便当特定页面导航到该iframe(或其URL中包含某个字符串的任何页面)时,将调用一个函数。我很确定我需要使用location.href
,因为无论您在iframe中执行什么操作,src
都会保留其原始值。现在我只是通过尝试获得警报进行测试。到目前为止,我已经尝试过这个:
if(
document.getElementById("myiframe").contentWindow.location.href.indexOf("command") > -1) {
alert("your iframe url contains the phrase command");
}
当我使用它时没有任何反应,控制台中没有任何显示,等等。我做错了什么?感谢。
答案 0 :(得分:0)
(回答我自己的问题,因为实际答案是通过对问题的评论)
使用postMessage更有意义。我只是在iframe的<head>
中添加了一个postMessage:
<script>parent.postMessage("start", "*");</script>
...以及父页面<head>
中的EventListener,以侦听消息:
<script>
window.addEventListener("message", function(e){
if(e.data == "start") stopwatch.start();
}, false);
</script>