我有一个HTML页面,上面有几个锚点:
<h4>Anchor 1</h4><a name="anchor1"></a>
<p>blah blah</p>
<h4>Anchor 2</h4><a name="anchor2"></a>
<p>blah blah</p>
<h4>Anchor 3</h4><a name="anchor3"></a>
<p>blah blah</p>
然后,我有一个PHP数组到相对路径:
$anchor_array = array(
'site/path/#anchor1' => 'Anchor 1',
'site/path/#anchor2' => 'Anchor 2',
'site/path/#anchor3' => 'Anchor 3',
);
每个site/path/
都有一个index.php
文件,所以使用.htaccess
我可以使用这样的链接:
site/path/
这样可以正常工作,但是当我向其添加锚点(例如site/path/#anchor1
)时,我会被发送到正确的页面,但不会发送到锚点位置,只会到页面顶部。
我错过了什么?
**编辑**
在接受Salman A的建议后,我能够获得2/3个锚点才能正常工作。但有一个仍然给我带来麻烦。我想,也许,浏览器混淆了我用其他东西指定的锚名称。所以我做了一个测试并将锚点从anchor1
更改为the_anchor1
(实际上,我已将其从history
更改为our-history
)并且现在可以正常运行。
是否有理由使用history
作为主播名称是不是很糟糕?
答案 0 :(得分:1)
关于:
- 结果如下所示:
http://localhost/site/path/#anchor1/
- 查看源结果:
醇>
您的网址的哈希部分中有一个尾部斜杠。浏览器将查找具有name=anchor1/
(或id=anchor1/
)的命名锚点,这显然不存在。找到尾部斜杠的来源并将其删除。