此脚本每 2 秒运行一次,并检测 iframe 的 url 是否更改。但我无法让它发挥作用。我想在 iframe 的 url 更改时发出警报。例如,如果有人单击链接并转到 iframe 内容上的另一个页面。
var prevSrc = "http://www.bodrumlife.com";
function check() {
var curSrc = $('#iframe').attr('src');
if (curSrc != prevSrc) {
alert("hobaa");
prevSrc = curSrc;
}
}
window.setInterval(check, 2000); // 2 seconds
<iframe id="iframe" name="iframe" src="http://www.bodrumlife.com"></iframe>
最佳答案
如果您更喜欢使用下面的 JQuery,请使用以下语法,而不是使用 half-jquery 和标准 javascript。
$(function(){
$('#iframeId').load(function() {
alert("the iframe has changed.");
});
});
虽然我不确定 onload 函数在 Sarafi 中是否有效。 Firfox、IE 和 Chrome 均支持它。
编辑:
扩展示例
<script type="text/javascript">
$(function () {
var intialFrameSrc = "http://www.twiij.com";
$("#iframeContentPanel").load(function () {
if (intialFrameSrc != $("#iframeContentPanel").attr('src')) {
alert("the iframe has changed.");
}
});
$("#btnChangeUrl").click(function () {
$("#iframeContentPanel").attr("src", "http://m.smh.com.au/");
});
});
</script>
<iframe id="iframeContentPanel" name="iframeContentPanel" src="http://www.twiij.com" width="500" frameborder="0" height="500" scrolling="no"></iframe>
<input type="button" id="btnChangeUrl" value="Change Url"/>
关于javascript - iframe url 更改时发出警报,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9372391/