使用带有相对 href 的 <BASE> 标签和 <a href='#'> 之间的冲突可以解决吗?

Can the conflict between the use of a <BASE> tag with a relative href and <a href='#'> be resolved?

使用带有亲戚的标签时 url,例如

<base href="app/" />

在整个站点中使用任何 <a href='#'> 都会导致锚标记上的 href 根据相对路径重写,然后变为可点击无效 url.

我可以用 <a href='javascript:void(0)'> 替换 <a href='#'> 然后浏览器忽略根据基本标记中指定的前缀重写目标 url - 它按预期工作(什么都不做导致无法导航。

但我想知道是否有更通用的方法来排除“#”url 目标?

除了实际的 link 之外,我不会将 <a> 标签用于任何东西。

如果您想要一个不导航的可点击元素,请使用 <button type="button"></button> 并根据您的喜好设置样式。毕竟,您在这里寻找的是按钮,而不是 link.

没有。根据定义,具有 href 属性的 base 元素会影响所有 URL 值的属性。您的页面可能需要重新设计。这样的 base 元素很少是一个好主意,而不是链接的 a 元素更糟糕。