我有一個使用jQuery 1.7.2的HTML頁面。在頁面內,我有一個像這樣的腳本標籤。jQuery的加載內容到Firefox的腳本標記
<script id="navigation-template" type="text/x-handlebars-template"></script>
再往下我使用javascript使用下面的函數來加載我的車把模板到腳本標籤頁:
loadTemplate: function(templateId, elementId) {
if (!elementId) {
elementId = templateId;
}
$('#'+elementId).load('/my/path/templates.html #'+templateId);
}
這在鉻做工精細,月食瀏覽器,甚至IE 9,但似乎在Firefox中南下。
我已調試並且加載調用成功完成並返回內容,但$('#navigation-template').html()
的調用給出了一個空字符串。
我也在腳本標記中有內容,並調用負載,並在調用.load
後看到它被替換爲空字符串。
最後,如果我手動執行$('#navigation-template').html("hello");
,我發現腳本標記的.html()
已更改。
如果我去一個簡單的ajax得到然後我將不得不解析它並得到給定的元素,而不是依靠加載來獲取我的元素。
如何在firefox中解決這個問題?
爲什麼你需要把它放到script標籤,你就不能編譯模板一旦你得到它從ajax(負載)? – dezman
人。我會研究這一點。將它放入腳本標籤的好處是我可以使用'load()'函數,並且完成了所有的工作,然後當我想稍後應用模板時,我就可以。爲了現在編譯它,我必須加載它有點不同(提供一個成功處理程序來手動加載和處理它),但這可能是答案... – digitaljoel
@Watson感謝您指出明顯的解決方案。我偶爾只有javascript,所以有時我需要。把你的評論作爲答案,我會接受它。 – digitaljoel