在本地HTML文件中包含指向HTML / CSS验证器的链接

时间:2018-12-25 15:12:03

标签: html css

我有一个带有嵌入式CSS的本地HTML文件,不打算在Web服务器中使用,就像打印模板一样,因此它仍然是 local 文件。不,我不能将其放在任何Web服务器上来解决我的问题。是的,我知道我可以运行验证器的本地副本,但是此文件将在无法完成的环境中使用,所以...

由于我不得不不时地对其进行验证,因此,当对该文件进行一些修改时,我考虑在文件末尾添加一些指向我使用的HTML / CSS在线验证器(W3C)的链接。不幸的是,只有在HTTP客户端发送Referer标头并且是本地文件的情况下,这些链接才起作用...嗯,Web浏览器不会发送该标头。

我用于HTML验证的链接是:

<a href="http://validator.w3.org/check/referer" rel="nofollow" title="Validate">Validate</a>

当然验证器会产生No Referer header found!错误。

对于CSS来说,情况更加复杂,因为验证程序(据我所知)不使用Referer标头,因此在这种情况下,我什至不知道如何进行。

HTML验证器具有某种实验性API,我可以通过将当前文件作为multipart / form-data发送来使用,但我希望使用更简单的解决方案。

如何添加一些到本地HTML文件的链接,以便可以自动对其进行验证?如果那是唯一的方法,我可以使用一些嵌入式JavaScript,但是我更喜欢一个简单的解决方案...

非常感谢!

1 个答案:

答案 0 :(得分:1)

您不能,至少不能使用客户端代码。

验证器必须能够访问页面的源代码才能对其进行验证。

通常的做法是通过面向公众的URL访问它。您的本地页面没有其中之一。

其他标准方法是通过文件上传并将代码粘贴到文本区域中。如您所提到的,它也有一个API,但是我不知道它是否支持validator.nu引擎。

以上三种方法都要求您有权访问页面的HTML源代码,而您不能从客户端代码访问。最接近的结果是将页面的DOM序列化回HTML………这将在浏览器对其执行错误恢复之后给您 结果。那对验证毫无用处。


使验证成为您的开发工作流程的一部分,而不是您发布的结果。例如,您可以将this extension之类的代码用于VS Code。