2015-09-05 83 views
2

我得到一個「無法執行‘的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(); 
}; 
+0

必須與您的鐵路由器,模板內的評論不會導致任何副作用。下面是證明:http://jsfiddle.net/b4f9wwt8/ –

+0

嘗試使用空格鍵而不是HTML註釋:'{{! - COMMENT - }}' – saimeunt

+0

這有點奇怪。經過更多測試後,網站破壞的是那些對話。如果我刪除了該評論,評論可以保留,但如果同時存在,評論存在時應用會崩潰。此外,如果我更改了任何未包含標籤(例如,隨機文本)的註釋,該應用程序會崩潰,但是如果我標記它,它會起作用 –

回答

0

每​​:

{{! Comments can be one line}} 

{{! 
    Or they can be 
    multi-line 
}} 

{{!-- They can also be written like this --}} 

請發表您的更新的代碼,如果它不嘗試此方法後工作。

+0

任何這些仍然崩潰的網站替換評論。他們工作的唯一方式(或標準html註釋)是如果我用div包圍它們的。 '{{! - 它們也可以這樣寫 - }}崩潰。 '

{{!-- They can also be written like this --}}
'不會崩潰。 –

+0

如果這是一個錯誤,您可能需要向問題回覆發佈問題:https://github.com/meteor/meteor/issues –

+0

好的。我真的不想發佈它,因爲我認爲這是Jquery-ui的錯。該網站有兩個對話框(每頁一個),當任何一個被刪除時,它工作正常。 儘管感謝您的幫助,但! –