【问题标题】:Overriding <base> URL in PHP [duplicate]在 PHP 中覆盖 <base> URL [重复]
【发布时间】:2014-01-13 17:43:18
【问题描述】:

我有一个基本 URL,它放置在所有页面的标题中。但是我有一个页面必须链接到“#”才能平滑滚动到锚点。但是 URL 连接了基本 URL。 href 属性不只是“#”,而是显示http://localhost/Sample/#

这是基础的代码:

header.php

<base href="<?php echo URL ?>">

【问题讨论】:

  • 您的页面中需要“#”网址的内容是什么?一些JavaScript?看来应该可以了
  • 这里是链接到'#'的代码echo "&lt;a href='#'&gt;&lt;img src='". PUBLIC_IMG_PATH. 'icons/edit.png' ."' title='Edit' class = 'image-button'/&gt;&lt;/a&gt;";
  • 它不断给我连接 URL http://localhost/Sample/# 而不仅仅是 #
  • 我不明白什么滚动代码或功能不起作用。

标签: php html url


【解决方案1】:

当使用基本元素时,文档中的所有相对 URL 都根据之前定义的基本元素的 href 值进行解析。这意味着具有相对链接的元素(包括锚点)被解析为此类基本元素 href 值。如果您不想产生这种副作用,您可能需要查看HTML5 History API,如果您需要使用基本元素,这将使您有更多的控制权和理想的结果。

如果你想做更多的事情,你可以等待页面加载所有资产,然后将所有资产路径设置为完整的 url,然后将基本元素的 href 值更改为 '#' 所以你会得到你想要的结果,但同样,这很讨厌,不推荐。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-11-07
    • 2012-02-16
    • 1970-01-01
    • 2011-06-11
    • 1970-01-01
    • 2015-06-29
    • 2013-12-12
    • 1970-01-01
    相关资源
    最近更新 更多