我得到一個「無法執行‘的insertBefore’上‘節點’」的錯誤點擊一個鏈接到另一個頁面後:HTML註釋打破了網站
<template name="reminderPage">
<a href="/newRemind">New!</a>
{{>reminder}}
<!-- Random comment -->
</template>
<template name="reminder" class="reminder">
<p>Hello reminder</p>
{{>editForm}}
</template>
<template name="editForm">
<div id="dialog-form" title="Edit Reminder">
<p class="validateTips">All form fields are required.</p>
<form>
<fieldset>
<label for="taskf-name">Name</label>
<input type="text" name="taskf-name" id="taskf-name" maxlength="20">
<label>Bought</label>
<input type="text" name="taskf-bought" id="taskf-bought">
<label>Expire</label>
<input type="text" name="taskf-expire" id="taskf-expire">
</fieldset>
</form>
</div>
</template>
顯然,那個小注釋與代碼干擾因爲在我刪除它之後,一切都很完美。
雖然問題解決了,但我真的很想知道這條線怎麼會擋住代碼的路。
有誰知道爲什麼?我使用流星與鐵路由器。
謝謝!
編輯
如果有幫助,我使用jQuery的用戶界面,這是我的JavaScript文件
Template.reminder.rendered = function() {
$("#dialog-form").dialog({
autoOpen: false,
modal: true,
open: function() {
},
buttons: [
{
id: "button-ok",
text: "Save",
click: function() {
$(this).dialog("close");
}
},
{
id: "button-cancel",
text: "Cancel",
click: function() {
$(this).dialog("close");
}
}
]
});
}
的「newRemind」頁面只具有最基本的對話,而且它的js文件只是啓動它。
<template name="newRemindPage">
<div id="dialog" title="Basic dialog">
<p>This is the default dialog which is useful for displaying information. The dialog window can be moved, resized and closed with the 'x' icon.</p>
</div>
</template>
的Javascript:
Template.newRemindPage.rendered = function() {
$("#dialog").dialog();
};
必須與您的鐵路由器,模板內的評論不會導致任何副作用。下面是證明:http://jsfiddle.net/b4f9wwt8/ –
嘗試使用空格鍵而不是HTML註釋:'{{! - COMMENT - }}' – saimeunt
這有點奇怪。經過更多測試後,網站破壞的是那些對話。如果我刪除了該評論,評論可以保留,但如果同時存在,評論存在時應用會崩潰。此外,如果我更改了任何未包含標籤(例如,隨機文本)的註釋,該應用程序會崩潰,但是如果我標記它,它會起作用 –