iframe url更改时发出警报

Alert when iframe url changed

本文关键字:url iframe      更新时间:2023-09-26

此脚本每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,下面是以下语法,而不是使用一半的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"/>