问题描述
我想,当用户点击一个链接来检测iframe
和改变的源iframe
,因为我想调整它的大小。
我也使用jQuery。
检测此问题的最佳方法是什么?
实际上我需要这样的东西(这个例子在jQuery中,它不起作用,我想象这个)
$('#iframe').live('load', function(){ alert('src is changed')});
1楼
Daniel Vassallo
13
已采纳
2010-07-02 02:51:03
您可能希望使用onLoad
事件,如以下示例所示:
<iframe src="/test.html" onLoad="alert(this.contentWindow.location);"></iframe>
只要iframe中的位置发生更改,系统就会弹出警报。 它适用于所有现代浏览器,但可能无法在IE5和早期Opera等一些非常老的浏览器中使用。 ( )
请注意,如果iframe位于不同的域或子域中,您将无法访问contentWindow.location
,但仍会触发onLoad
事件。
2楼
casablanca
3
2010-07-02 03:07:00
这不是一个完全干净的解决方案,但它可以工作:您可以创建一个定期检查iframe源是否已更改的计时器。
var prevSrc = '';
function check() {
var curSrc = $('#iframe').attr('src');
if (curSrc != prevSrc) {
// source has changed; do something
prevSrc = curSrc;
}
}
window.setInterval(check, 1000); // 1 sec - this can be anything you want