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
答案 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