我在WordPress上有一个奇怪的问题,我在这个页面上有一个锚标记,如下所示:
<h2><a id="comments">Why No Comments?</a></h2>
当我在我的页脚中链接到它时:
<a href="<?php echo home_url()?>/about/#comments">Why no comments?</a>
它莫名其妙地解析为http://www.everydaytype.com/omments
。
这可能会发生什么?
注意:当我手动导航到锚标记的URL时,会发生同样的事情。
(参考:everydaytype.com)
更新:我已禁用所有插件(我有一个操纵我标题中的链接的插件),而且这种情况仍然存在。
答案 0 :(得分:2)
对于网站来说,这是一件非常奇怪的事情。
如果您将网址http://www.everydaytype.com/about/#comments
加载到浏览器的“查看源”窗口中,您会发现它包含以下代码:
<script>if(window.location.hash) {
var hash = window.location.hash;
var hashtourl = hash.substring(2)
window.location.href = "/"+hashtourl;
}</script>
此代码完全符合您的描述。
我不知道为什么会这样做,但这就是它正在做的事情。
我的猜测是它期待#!
而不仅仅是#
,因此前两个字符的丢弃而不仅仅是第一个,但这只是猜测。如果这是它所期望的,它确实应该检查它而不是做出假设。
我想它必须是某些插件的一部分,你不知道或认为你已经没有完全或某事。无论哪种方式,拥有上面的代码都可以帮助您找到它。
这就是我能做的所有帮助,但我希望它能让你朝着正确的方向前进。