【问题标题】:Warnings of valid HTML5 attributes in EclipseEclipse 中有效 HTML5 属性的警告
【发布时间】:2010-11-16 12:03:32
【问题描述】:

我使用 Eclipse 并编写带有 HTML5 内容的 jsp 文件。 所以我有例如这一行:

<div class="test" data-role="test123">

在 Eclipse 中我收到警告:

Undefined attribute name (data-role)

需要做什么才能使这些警告不再出现?在 HTML5 中,允许使用此属性 (data-*),您可以在此处看到:http://ejohn.org/blog/html-5-data-attributes/

【问题讨论】:

  • Eclipse 支持 HTML5 吗?我正在使用最后一个 NetBeans .. 它还不支持它..
  • 应该的。请参阅:bugs.eclipse.org/bugs/show_bug.cgi?id=292415@OP 您的 Eclipse/WTP 等是最新的吗?
  • 我使用的是 Eclipse 3.5.2。 / WTP 3.1.1。它与 Spring 捆绑在一起。所以更新到 3.6.1。会删除这些警告吗?
  • 您还需要确保在文件顶部声明了正确的 DOCTYPE。
  • Eclipse 仍然 (4.2.2) 错误地警告 html5 代码的“角色”属性。

标签: eclipse html


【解决方案1】:

现在看来 Eclipse 在验证 HTML5 元素和属性时仍然存在一些问题。

我正在运行 Mars 4.5.1,我收到了关于 &lt;main&gt; 元素的警告,尽管没有关于 &lt;section&gt; 元素的警告。

但有办法!

Window > Preferences > Web > HTML Files > Validation

您可以在此处勾选Ignore specified element names in validation 复选框并输入Eclipse 错误警告您的任何元素的名称。

在您的情况下,您需要勾选Ignore specified attribute names in validation 复选框并输入data-role 属性。

单击“应用”后,Eclipse 将要求您对项目进行全面验证。选择“是”,更改将生效。

不再有波浪状的黄线耶! :D

【讨论】:

  • 虽然我确实想要验证我的文件。我想让 eclipse 警告我,所以我想让它知道它是 HTML5 规范的一部分。我敢肯定,在 2016 年,Eclipse 有一种学习 HTML5 的方法。
  • 我正在使用 Eclipse for PHP Developers Version: Neon.3 Release (4.6.3) Build id: 20170314-1500 和 10 个插件,安装在 Microsoft Windows Creators' Update [Version 10.0.15063] 上。我的 HTML5 元素是 &lt;option&gt;,我的 HTML5 属性是 mytagmyproductgstitempricemygstcat。使用您的解决方案,在 Eclipse 对整个工作区执行完整的 XML 验证后,我消除了四个警告。我想知道我是否做对了。
  • 嗨,在我的 eclipse mars 2 中,我看不到这些选项。你能推荐一些其他的方法吗??
  • 阅读此答案后,我意识到问题不是关于修复 eclipse,而是关于看不到错误... :-(
  • 这对我来说并不是一个真正的解决方案。当我告诉 eclipse 忽略
    时,它仍然抱怨
    中的无效属性“role”和“class”。我不想禁用对“类”等常用属性的验证。如果有办法只在某些标签中出现时指定属性,我会使用它。
【解决方案2】:

您的文档类型

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
         "http://www.w3.org/TR/html4/loose.dtd">

适用于 HTML 4.01。

data-* 属性是在 HTML 5 中添加的。HTML 5 的 doctype 基本上是任一

<!DOCTYPE html SYSTEM "about:legacy-compat">

<!DOCTYPE html>

【讨论】:

    【解决方案3】:

    较新版本的 Eclipse 支持 HTML5 标记和 HTML5 中允许的 data-* 属性。但是,当使用角色属性时,根据ARIA Roles ModelXHTML Role Attribute Module 的正确语法是不要在角色属性前面加上 data-*,只留下角色而不是数据角色。

    所以&lt;ul role="menubar"&gt;&lt;ul data-role="menubar"&gt; 更正确。可以使用(X)HTML5 Validator 检查语法的有效性。 jQuery Mobile 相当广泛地使用了 data-role 属性,虽然我不知道为什么。

    注意:如果您升级后仍然收到有关 data-* 属性的警告,您可能需要考虑更新或删除任何已安装的语法检查器,例如 JTidy。从 Indigo Service Release 1 开始,默认情况下角色属性继续在 Eclipse 中触发未定义属性警告。

    【讨论】:

    • 我无法支持“较新版本的 Eclipse 支持 HTML5 标签” 的说法。我得到了像 Unknown tag (main) 这样全新安装的东西。
    • 我几年没用过 Eclipse @kleinfreund,但也许我在给出这个答案的时候写的这篇文章仍然对你有帮助:habd.as/get-sideways-with-html5-in-eclipse
    【解决方案4】:

    我在编写 AngularJS 代码时将这个与 Aptana 3.6 一起使用

    窗口 > 首选项

    【讨论】:

      【解决方案5】:

      我在 Mac OS X 上使用Aptana Studio plugin;如果我去Eclipse &gt; Preferences &gt; Aptana Studio &gt; Validation &gt; HTML,并创建过滤器*data-role*,我将不再收到此警告。

      我相信在 Windows 上是Window &gt; Preferences &gt; Aptana Studio &gt; Validation &gt; HTML

      【讨论】:

        【解决方案6】:

        Eclipse 3.6 下引入了一个新字段:

        Validation -&gt; HTML Syntax: Ignore specified attribute names in validation

        添加您希望验证器忽略的 OpenGraph、RDFa 或其他非 HTML5 属性:

        您需要重新验证项目,然后警告就会消失。

        【讨论】:

        • "或其他非 HTML5 属性" 问题在于 Eclipse 会警告 HTML5 中的 属性。
        【解决方案7】:

        Eclipse 观察 DOCTYPE 声明。就我而言,解决方案是在包含 HTML 代码的文件的第一行使用上面的代码:

        <!DOCTYPE html>
        

        与此相关,还有另一个问题,已经回答:

        Why do we need DOCTYPE to the HTML/JSP pages?

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2021-12-27
          • 2021-10-07
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-12-24
          • 2011-07-30
          • 1970-01-01
          相关资源
          最近更新 更多