锚点<a> to Another Page Using Relative Paths - PHP</a>

时间:2012-11-09 20:52:46

标签: php html anchor relative-url

我有一个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作为主播名称是不是很糟糕?

1 个答案:

答案 0 :(得分:1)

关于:

  
      
  1. 结果如下所示:http://localhost/site/path/#anchor1/
  2.   
  3. 查看源结果:
  4.   

您的网址的哈希部分中有一个尾部斜杠。浏览器将查找具有name=anchor1/(或id=anchor1/)的命名锚点,这显然不存在。找到尾部斜杠的来源并将其删除。