AngularJs iframe源代码更新未调用javascript方法

时间:2015-06-08 14:25:06

标签: javascript angularjs iframe

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

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

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

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

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

1 个答案:

答案 0 :(得分:1)

你需要jQuery,因为jqlite不会在模板中执行脚本标记。

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

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

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