iframe网址更改时发出提醒

时间:2012-02-21 04:55:55

标签: javascript jquery url iframe

此脚本每2秒运行一次,并检测iframe的url是否已更改。但我无法让它发挥作用。我想提醒iframe的网址是否已更改。例如,如果有人点击链接并在iframed内容上转到另一页。

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>

1 个答案:

答案 0 :(得分:4)

如果您更喜欢使用下面的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"/>