12

在现场遇到一个奇怪的问题。链接标签href="#anything"不会将您移动到页面顶部或指定的锚点,它会将您移动到主页。就是这样 - 当我将鼠标悬停在我在 FF 状态栏example.com/#而不是example.com/testpage.php#.

网站充满了垃圾代码,无法验证所有设置,尤其是标题配置等。

关于这可能在哪里的任何提示?

PS Linkhref没有被 JS 更改,Firebug 声称它是href="#"当我单击它时。

4

2 回答 2

24

我最初的想法是你可能在某个地方有一个基本标签。检查您的代码是否有以下内容,并在必要时将其删除:

<base href="http://www.mydomain.com/testpage.php" />

显然,谨慎是必要的,因为可能存在一些依赖于任何预先存在的基本标签的标记。还要确保您的 href 值前面没有像这样的正斜杠:

<a href="/#anything">Click Me</a>

因为这将转到根目录的默认起始页上的#anything。

于 2010-02-10T17:02:07.020 回答
3

您的代码部分中是否有<base>标签<head>

这将使所有相对 url 请求以基本标记中指定的 href 开头。如果页面依赖于它的存在,我强烈建议您不要删除它,否则您可能需要进行大量更新。

更多信息:

于 2010-02-10T17:02:22.287 回答