避免使用"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或其他任何方式劫持它必定会在不久的将来遇到一些可访问性问题。