在网站上有一个奇怪的问题。具有href="#anything"
的链接标记不会将您移动到页面顶部或指定的锚点,它会将您移动到主页。就是这样 - 当我将鼠标悬停在我的FF状态栏example.com/#
而不是example.com/testpage.php#
上的链接上时。
网站上堆满了垃圾代码,无法验证所有设置,尤其是标头配置等。
关于这可能是什么的任何提示?
P.S。链接的href
没有被JS改变,Firebug在我点击它时声称它是href="#"
。
答案 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开头。如果页面依赖于它的存在,我强烈建议您不要将其删除,否则您可能会进行大量更新。
更多信息: