优秀的编程知识分享平台

网站首页 > 技术文章 正文

碎片时间学编程「269]:避免为空链接使用“javascript:void(0)”

nanyue 2024-07-18 22:11:34 技术文章 7 ℃


避免为空链接使用“javascript:void(0)”


有多种创建空链接的方法,但有些选项比其他选项更合适。关于它的最常见争论之一是是否应该使用 href=""、href="#" 或 href="javascript:void(0)"。


通常,您希望避免 href="javascript:void(0)",因为它会导致浏览器解析链接 URL 的值,这既昂贵又不必要。它还引入了一个潜在的 XSS 安全漏洞,因为 javascript: URL 违反了内容安全策略 (CSP)。


考虑到这一点,很明显在大多数情况下应该首选 href="" 或 href="#"。两者之间的一个主要区别是 href="#" 指向页面顶部,而 href="" 指向当前页面。这可能会产生不需要的副作用,例如滚动到页面顶部或分别出现链接样式问题。要防止其中任何一个充当链接,您可以使用 Event.preventDefault() 并使用 JavaScript 适当地处理它们。


最后,在创建空链接时,应始终考虑语义上更合适的替代方案,例如 <button>、<div> 或 <span> 标记。毕竟,一个链接应该始终表现得像一个链接,用 JavaScript 或任何其他方式劫持它迟早会遇到一些可访问性问题。

更多内容请访问我的网站:https://www.icoderoad.com

最近发表
标签列表