javascript – 使用未定义的HTML元素可以获得什么影响?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – 使用未定义的HTML元素可以获得什么影响?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1726字,纯文字阅读大概需要3分钟。
内容图文
![javascript – 使用未定义的HTML元素可以获得什么影响?](/upload/InfoBanner/zyjiaocheng/804/715245fdb2254cd5bb3799c8bf9ce3b2.jpg)
为了编写更具表现力的HTML,我觉得自定义HTML元素对于我可能编写的任何webapp或文档来说都是一个很好的方式,它具有从标记名称本身发出的良好含义而不使用注释.
看来我可以用以下内容定义自定义HTML元素:
document.registerElement("x-el");
但是,在定义它之前,我似乎也可以使用自定义元素:
<body>
<x-salamander>abc</x-salamander>
</body>
甚至:
<salamander>abc</salamander>
我想这是无效的HTML,但是Firefox和Chromium都会继续显示元素而没有任何问题或控制台警告.
我甚至可以在没有浏览器投诉的情况下执行以下操作:
document.getElementsByTagName("salamander")[0]
在CSS中使用此标记名称作为选择器也可以正常工作.那么,如果我以这种方式使用未声明的元素,我可能面临哪些问题?
解决方法:
你要做的事情的问题并不是我们可以告诉你它会以某种预期的方式打破.当你以这种方式偏离标准时,没有人知道会发生什么.根据定义,它是未定义的,并且看到它的浏览器的行为也是未定义的.
也就是说,它可能会很棒!这是要记住的事情:
>你正在调用HTMLUnknownElement接口以支持的方式工作 – 据我所知,在5分钟的搜索中,它是在HTML5规范中引入的,因此在适当使用它的HTML5浏览器中,这是不再是一个未定义的场景.这是registerElement发挥作用的地方,可以使用HTMLUnknownElement并使其知晓.
>浏览器通常非常善于应对意外的标记……但它并不总能产生很好的效果(参见:quirks mode).
>并非所有浏览器都是平等的. Chrome,Firefox,Safari,Opera,甚至IE都可能有一些可靠的方式来可靠地处理这些元素(甚至是HTML5之前的版本)…但我不知道什么是屏幕阅读器(Lynx)或其他各种深奥,过时的利基甚至未来的浏览器也会用它.
>每个人都说了同样的话,但值得注意的是:你将无法通过验证.只要你知道它们是什么以及为什么它们在那里就可以在你的页面上出现验证错误,这是合格的,但你最好有充分的理由.
浏览器有很长的历史记录,无论你给他们什么,并尝试用它做一些合理的事情,所以你很可能没问题,如果你对主要针对HTML5浏览器感兴趣,那么你很可能没问题.与HTML相关的所有内容一样,唯一的通用建议是测试目标受众.
内容总结
以上是互联网集市为您收集整理的javascript – 使用未定义的HTML元素可以获得什么影响?全部内容,希望文章能够帮你解决javascript – 使用未定义的HTML元素可以获得什么影响?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。