如何在iframe src更改时运行函数?

时间:2010-09-14 16:03:37

标签: javascript html

如果更改iframe的src,我该如何运行某个功能? iframe显示的网站不在我的服务器上...当用户点击或按下iframe内的按钮时,我想执行一项功能来测试src是否已更改... < / p>

3 个答案:

答案 0 :(得分:5)

如果iframe位于其他域,则您无法访问iframe中的按钮,因此您无法使用“click”事件。唯一的解决方案是在iframe上使用“load”事件:

<iframe src=".." onLoad="alert('new page loaded');"></iframe>

加载事件将在加载iframe中的页面时立即触发,然后在加载其他页面(更改src之后)时再次触发。然后你可以比较第一个src(将它存储在开头的变量中)和当前的src,如果它们不同则意味着src已被更改。

答案 1 :(得分:1)

让我们将onload函数替换为我们的函数。不要忘记也调用他们的onload功能

function letswatch() {
  var myIframe = document.getElementById("myIframe");
  var oldonload = myIframe.onload;
  if (typeof myIframe.onload != 'function') {
    myIframe.onload = func;
  } else {
    window.onload = function() {
      oldonload();
      func();
    }
  }     
}

我们的职能:

  function func() {
   alert("changed");
  }

请在working example观看:

答案 2 :(得分:0)

我相对确定你什么时候不能看到。