我的iframe
包含一个链接,该链接应该更改哈希/触发父项中的事件。
为什么这段代码不起作用:
<!-- in iframe -->
<a href="#" onClick="parent.navigate();return false;">Link</a>
// in parent
function navigate() {
window.location.href = '#anchor';
}
但这样做:
<!-- in iframe -->
<a href="#" onClick="parent.navigate();return false;">Link</a>
// in parent
function navigate() {
setTimeout(function() {
window.location.href = '#anchor';
}, 0);
}
答案 0 :(得分:0)
@am不是我评论你有撇号可能是原因
即使代码荧光笔因此而显示不同的亮点。
答案 1 :(得分:0)
我认为你对navigate()函数所在的上下文存在问题,window
位于iframe的上下文中。
尝试设置导航方法以改为使用top.location.href
,例如:
// in parent
function navigate() {
top.location.href = '#anchor';
}
或者,在您的iframe中,请致电parent.window.location.href = '#anchor'