【问题标题】:AngularJs iframe source update not invoking javascript methodsAngularJs iframe 源更新不调用 javascript 方法
【发布时间】:2015-08-23 01:49:33
【问题描述】:

可以通过 iframe 访问 Javascript 的内置方法,但无法访问我的自定义 javascript 方法。

我正在更新 iframe 以使用 angularjs 进行双向绑定,但是在 iframe 源更新后,从 iframe 中看不到任何 javascript 方法。它给出错误没有找到方法。 以下是示例代码的 plunker url

<http://plnkr.co/edit/JzptCOjShKaF9i8At1QL?p=preview>

在此示例中,控制台中显示未找到 testMethod() 函数错误,而 Date() 方法是可访问的。

如果我遗漏了什么,请告诉我 http://plnkr.co/edit/JzptCOjShKaF9i8At1QL?p=preview

【问题讨论】:

    标签: javascript angularjs iframe


    【解决方案1】:

    您需要 jQuery,因为 jqlite 不会在模板内执行 script 标签。

    还要确保在 angularjs 之前加载 jQuery,以便 angularJs 使用该 jQuery 而不是 jqlite。

    在此之后,您也将无法执行脚本标记中定义的方法,因为当 jQuery 执行脚本 elm.contents().find('body').append(template 时,它是在父文档的上下文中执行的,因此这些方法实际上在父文档中可用而不是 iframe。

    您可以查看此 plnkr 并进行必要的修改。 http://plnkr.co/edit/ib2spZE7O5bPBoeqSr8P?p=preview

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2014-07-21
      • 1970-01-01
      • 2014-05-06
      • 1970-01-01
      • 1970-01-01
      • 2019-12-29
      • 1970-01-01
      相关资源
      最近更新 更多