【问题标题】:Can the conflict between the use of a <BASE> tag with a relative href and <a href='#'> be resolved?可以解决使用带有相对 href 的 <BASE> 标记和 <a href='#'> 之间的冲突吗?
【发布时间】:2015-02-05 06:00:55
【问题描述】:

当使用带有相对 url 的标签时,例如

<base href="app/" />

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

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

但我想知道是否有更通用的方法可以排除 '#' url 目标?

【问题讨论】:

    标签: html url base-tag


    【解决方案1】:

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

    【讨论】:

    【解决方案2】:

    除了实际链接,我不会使用&lt;a&gt; 标记。

    如果您想要一个不导航的可点击元素,请使用&lt;button type="button"&gt;&lt;/button&gt; 并按照您的喜好设置样式。毕竟,您在这里寻找的是一个按钮,而不是一个链接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-11-14
      • 2014-10-01
      • 2012-10-12
      • 1970-01-01
      • 2012-12-26
      • 2012-03-17
      • 1970-01-01
      • 2021-07-21
      相关资源
      最近更新 更多