2015-10-20 76 views
5

我們要求用戶在這裏定義html,所以添加一個div或者一個小節或類似的東西。所以,我想在編輯我的HTML時使用驗證工具提示。但不希望發生文檔類型的警告。如何在我的html編輯器中刪除ace編輯器的第一個doctype工具提示?

tooltip of ace editor

+0

如前所述[在此線程](https://groups.google.com/forum/#!msg/ace-discuss/qOVHhjhgpsU/E_34XjuMmlsJ),它似乎並不可能過濾某些錯誤,儘管你可以全部禁用它們。 – skerit

回答

8

試試這個

var session = editor.getSession(); 
session.on("changeAnnotation", function() { 
    var annotations = session.getAnnotations()||[], i = len = annotations.length; 
    while (i--) { 
    if(/doctype first\. Expected/.test(annotations[i].text)) { 
     annotations.splice(i, 1); 
    } 
    } 
    if(len>annotations.length) { 
    session.setAnnotations(annotations); 
    } 
}); 
+0

幾乎完美的作品。如果第一行的標籤格式不正確,除了「標籤名稱中的文件意外結束」之外,我們還會收到「意外的文件結尾」。預期的DOCTYPE.' - 這不是什麼大不了的事情,但如果你更新了你的代碼片段來反映這一點,那將是非常棒的。 :) – Adam

3

有了 「意外的文件結束。預計DOCTYPE。」警告過濾。

var session = editor.getSession(); 
session.on("changeAnnotation", function() { 
    var annotations = session.getAnnotations() || [], i = len = annotations.length; 
    while (i--) { 
     if (/doctype first\. Expected/.test(annotations[i].text)) { 
      annotations.splice(i, 1); 
     } 
     else if (/Unexpected End of file\. Expected/.test(annotations[i].text)) { 
      annotations.splice(i, 1); 
     } 
    } 
    if (len > annotations.length) { 
     session.setAnnotations(annotations); 
    } 
});