href =“#”重定向到索引页面,但不重定向到当前页面的顶部

时间:2010-02-10 16:57:45

标签: html anchor href

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

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

关于这可能是什么的任何提示?

P.S。链接的href没有被JS改变,Firebug在我点击它时声称它是href="#"

2 个答案:

答案 0 :(得分:17)

我最初的想法是你可能在某个地方玩base tag。检查您的代码,如下所示,并在必要时将其删除:

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

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

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

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

答案 1 :(得分:3)

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

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

更多信息: