我正在用Amaya检查我的HTML代码。
我在这一行有一个错误:
<input style="vertical-align:bottom;" type="text" id="doi_id" onkeydown="if (event.keyCode == 13) return false;" onpaste="parsePIIfromDOI();"/>而对于onpaste,我得到了"Invalid attribute "onpaste"(removed saving)“错误。
我也不知道原因?非常感谢你的帮助。
发布于 2012-09-11 18:19:27
http://reference.sitepoint.com/html/extended-event-attributes/onpaste
“Microsoft为在Internet Explorer中使用而定义的非标准事件。可以在某些其它浏览器中工作,但不能可靠地使用。未测试此非标准属性的兼容性。”
发布于 2012-09-11 19:11:42
Amaya编辑器使用文档类型定义执行语法检查,它的内置配置表只包含不允许onpaste属性的文档类型。这就是您收到错误消息的原因。
在Amaya中可能没有办法绕过这个消息。您可以使用Tools→更改doctype→删除文档类型,或者,更好的做法是在Show Source模式下手动将doctype声明更改为<!doctype html>,即HTML5文档类型。但是Amaya仍然不断地检查它认为正确的规范。
Amaya是一个编辑器(和一个试验床浏览器),而不是一个检查器。使用validator检查您的语法。然后,您可以使用<!doctype html>指定HTML5。请注意,HTML5有一些奇怪之处,与流行的误解相反,它不是HTML4.01的纯粹扩展。显然,因为Amaya决定删除该属性,所以您需要使用不同的编辑器。
使用onpaste是否有用和安全是另一个问题。
更新(2018年7月):在过去的几年里,onpaste并没有成为官方HTML语言的一部分,所以验证器会发出一条关于它的错误消息。然而,支持似乎出现在例如在Chrome中。如果需要避免验证错误(或者编辑器删除了onpaste属性),请使用JavaScript为元素节点的onpaste属性赋值,而不是使用HTML标记中的属性。
https://stackoverflow.com/questions/12367417
复制相似问题