【问题标题】:Validate HTML on local machine在本地机器上验证 HTML
【发布时间】:2011-04-04 21:54:24
【问题描述】:

我目前正在尝试学习 HTML 和 Java EE Servlet 编程。我在我的本地机器(Orion Application Server)上运行了一个应用程序服务器,我正在使用在同一台机器上运行的浏览器连接到我在该服务器上部署的网页,定向到http://localhost/mypage.htm(例如)。

我知道 W3C 有一个您可以访问的站点,该站点将验证 HTML 页面(并计算针对给定文档类型发现的错误数量),但该站点必须是公开可用的 URL。您如何在我上面描述的本地运行设置上验证 HTML?

【问题讨论】:

标签: html validation localhost w3c-validation


【解决方案1】:

【讨论】:

  • 在 Ubuntu/Debian 上你可以sudo apt-get install w3c-markup-validator
  • 我发现这个 chrome 扩展非常有用HTML Validator。它可以通过将源提交给 W3C 验证器来验证本地页面
【解决方案2】:

您可以下载用于离线检查 HTML5 文档的 vnu.jar 版本:

https://github.com/validator/validator/releases/download/latest/vnu.jar

或者,您可以使用以下任何方式安装它:

  • docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest
  • npm install vnu-jar
  • brew install vnu
  • pip install html5validator

更多详情请见https://validator.github.io/validator/

【讨论】:

  • 这是迄今为止对这个问题的最完整和最新的答案。可惜它没有更多的赞成票。
  • 在 Mac 上,brew install vnu,然后是 vnu path/to/your/file.html
  • @Bluu 请考虑添加关于自制程序包的单独答案以使其更加引人注目(我自己还不知道......)
  • 他们还添加了一个“docker”版本。 "docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest" 并打开浏览器到 127.0.0.1:8888
  • @txyoji 谢谢——我已经更新了答案以包含它
【解决方案3】:

如果你使用的是 firefox,这个插件是完美的:

http://users.skynet.be/mgueury/mozilla/

我整天都在用它。当您查看源代码时,它会向您显示错误列表并为您突出显示它们。

【讨论】:

    【解决方案4】:

    用于验证 html 文件文件夹的命令行工具:https://github.com/svenkreiss/html5validator

    它与 CircleCI 和 TravisCI 集成,可用于验证 Pelican 和 Jekyll 站点。

    【讨论】:

      【解决方案5】:

      也许最直接的方法就是我一直这样做的方法。网页的“查看源代码”,全选(ctrl+a),选择“复制”(crtl+c),切换到验证器,以及它的“直接输入”选项,然后将其粘贴到(ctrl+v )。简单,轻松。

      【讨论】:

      • 如果您必须验证一个包含数百个页面的网站怎么办?还是那么容易吗?我运行一个网站,其中大部分内容是由一个不太可靠的 Perl 脚本从 TeX 生成的。当我对脚本进行任何更改时,我想确保我没有破坏任何东西。
      • 如果您的网站有数百个页面,它很可能是由 CMS(如 Wordpress、Drupal 等)生成的。因此,您需要做的就是验证随机的页面样本,并确保您的 CMS 生成的页面得到验证。如果您需要验证每个页面,也许需要一个自动化机制,但这既不是 a) 原始问题,也不是 b) W3C 验证器。
      • 最初的问题是问如何验证 HTML 在本地机器上,它甚至在标题中。你不回答那个。我给了你一个在线验证不可行的网站示例。很难猜出 OP 究竟为什么希望验证器离线运行。
      • OP 的问题是“W3C 验证器假定一个公开可用的页面”,我如何使用它来验证“localhost”上的某些内容?它不会询问“我如何在根本无法访问 Internet 的情况下验证本地计算机上的页面”。我指出了一个使用 W3C 验证器的简单、无软件的解决方案。
      • @CLWill 您所说的“标签转到验证器”是什么意思?您指的是 W3C 验证网站吗?
      【解决方案6】:

      在 Mac 上,通过 homebrew brew install vnu 安装 w3validator。然后通过vnu http://localhost/site 检查您的本地站点或通过vnu path/to/your/file.html (来自Bluu 答案)查看任何本地文件

      【讨论】:

        【解决方案7】:

        如果你使用node,你可以使用包html-validator

        const validator = require('html-validator')
        const fs = require('fs')
        var options = {
          format: 'text'
        }
        
        fs.readFile( 'file-to-validate.html', 'utf8', (err, html) => {
          if (err) {
            throw err;
          }
        
          options.data = html
        
          validator(options)
            .then((data) => {
              console.log(data)
            })
            .catch((error) => {
              console.error(error)
            })
        })
        

        【讨论】:

          【解决方案8】:

          http://validator.w3.org/#validate_by_upload 如果您不介意上传 HTML 源文件。

          http://getfirebug.com/ 如果您正在运行 Firefox,也可以帮助解决 HTML 验证问题。

          【讨论】:

            【解决方案9】:

            如果你有互联网连接并且想在没有安装的情况下使用https://validator.w3.org/作为本地主机,你可以使用 ngrok

            参考:https://academy.byidmore.com/post/W3C-Markup-Validation-for-Localhost-5bc942eb3704302c0986bd60

            【讨论】:

            • 听起来很有趣,但该链接已失效
            【解决方案10】:

            您可以使用以下命令在本地使用 docker 运行该工具。

            • docker run -it --rm -p 8888:8888 ghcr.io/validator/validator:latest

            使用 docker 运行后,当你转到 127.0.0.1:8888 时,你会看到验证器工具。当您尝试验证 url 时,如果遇到类似 IO 错误(连接被拒绝)之类的错误,则可以尝试使用下面的第二个命令使用 brew 安装 vnu。

            • brew install vnu

            我用 docker 试了一下,我得到了 IO 错误。然后我用brew试了一下,成功了。使用 brew 安装后,现在要检查 url,您应该运行以下命令。

            • vnu http://localhost/page-to-test/

            只需将网址替换为您要使用该工具验证的网址即可。

            【讨论】:

              猜你喜欢
              • 1970-01-01
              • 2023-03-20
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 1970-01-01
              • 2011-12-05
              • 2021-07-07
              • 1970-01-01
              相关资源
              最近更新 更多