繁体   English   中英

使用jquery读取外部脚本标记的内容

[英]Read content of external script tag with jquery

加载主干模板的常见模式如下:

<script type='text/template' id='foo'>
    my template
</script>

----
var whatever = $('#foo').html();

我想将脚本包含在外部文件中,如下所示:

<script type='text/template' id='foo' src='myTemplate.tpl'></script>

但是foohtml()现在是空的。

我看着浏览器拉下模板文件,但我不确定它是否在页面dom中。 有没有一种简单的方法来引用javascript中的脚本内容,或者浏览器是否只是忽略它并抛出结果?

我认为要实际执行外部加载的脚本,你必须对内容进行eval()。 您没有将它添加到DOM中,因为它是脚本,您将它添加到JS运行时。 可能还有其他方法可以做到这一点,但eval()通常被认为是一个安全漏洞,因为可以评估恶意代码。

我倾向于在服务器上生成模板部分,所以当DOM准备就绪时,我知道我的所有JS都在那里。

如果该点在加载脚本之后执行操作,则可以在脚本标记上放置onload属性。 如果要在运行时下载内容,则可以使用异步下载策略(如Gats指向)。

在外部文件中使用jquery模板模板时,请记住一些重要的事项,有一篇关于jquery模板与外部文件的有趣文章 ,你必须检查它。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM