簡體   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