用jQuery阅读外部脚本标签的内容
加载骨干模板的常见模式如下所示:
<script type='text/template' id='foo'>
my template
</script>
----
var whatever = $('#foo').html();
我想将脚本包含在外部文件中,如下所示:
<script type='text/template' id='foo' src='myTemplate.tpl'></script>
但是foo
的html()
现在是空的。
我看着浏览器拉下了模板文件,但我不确定它是否在页面dom中。 有没有一种简单的方法可以在JavaScript中引用脚本的内容,或者浏览器是否忽略它并抛出结果?
我认为要真正执行外部加载的脚本,您必须对内容执行eval()。 你不是真的把它添加到DOM,因为它是脚本,你将它添加到JS运行时。 可能还有其他的方法,但eval()通常被认为是一个安全漏洞,因为可以评估恶意代码。
我倾向于在服务器上生成模板部分,所以我知道当DOM准备就绪时我所有的JS都在那里。
如果该点在脚本加载后立即执行,您可以在脚本标记上放置一个onload
属性。 如果你想在运行时下载内容,那么你可以使用异步下载策略(如Gats指出)。
记住在外部文件中使用jQuery模板的模板时要注意一些重要的事项,这里有一篇关于jquery模板与外部文件有关的有趣文章,您必须检查它。
链接地址: http://www.djcxy.com/p/10549.html上一篇: Read content of external script tag with jquery
下一篇: Where to build new domain entities? Controller, repository, or mapper?