2015-10-20 77 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); 
    } 
});