代码之家  ›  专栏  ›  技术社区  ›  David

iframe src发生变化时如何运行函数?

  •  2
  • David  · 技术社区  · 15 年前

    src 一个iframe的?iframe显示的站点不在我的服务器上。。。当用户单击或按下iframe中的按钮时,我想执行一个函数来测试 src公司

    3 回复  |  直到 15 年前
        1
  •  5
  •   mck89    15 年前

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

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

    加载iframe中的页面时,会立即触发load事件,然后在加载另一个页面(更改src后)时再次触发。然后可以比较第一个src(在开始时将其存储在变量中)和当前src,如果它们不同,则表示src已更改。

        2
  •  1
  •   Garis M Suero    15 年前

    让我们换个新的 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 地址:

        3
  •  0
  •   Jani Hartikainen    15 年前