【问题标题】:Menu not working with on page anchors and out of page anchors菜单不适用于页面锚点和页面外锚点
【发布时间】:2012-05-06 20:28:43
【问题描述】:

不太确定如何表达我的问题,但这是我的问题:

我有一个 php 模板类型的网站,其中主要导航位于它自己的文件中。有些导航按钮指向主页上的锚点,有些则完全指向其他页面。

我的原始菜单使用 index.php# 之类的链接作为页面锚点,使用 index.php?page= 作为页面外链接。我有两个问题: 1. 当我选择页面上的链接时,页面似乎刷新了,将我带到链接所连接的页面上的位置很慢。 2. 我正在使用 htaccess 将我的 url 从 mydomaincom/index.php 重定向到 mydomaincom/ 并发现我的导航在 Safari 中不起作用,因为我的 href 地址 index.php#value 和 Safari v5 不会继承锚链接。

我没有关闭我的重定向,而是将 URL 更改为指向 mydomaincom/#value。这不仅适用于所有浏览器,而且还让我的页面更快。

但是,现在当我在其他页面之一说 index.php?page=photos 并且我使用导航时,它只是试图在该页面上找到锚点(这很有意义,但显然不是我想要的)。 它现在在做什么: mydomaincom/index.php?page=photos#

我需要它做什么: mydomaincom/#

由于所有页面都使用相同的导航文件,我是否需要创建一个 nave 链接变量,以便当导航位于非 index.php 页面上时,链接到页面锚上 index.php 的链接 url 使用完整的网址?

希望这是有道理的。有什么建议?还试图保持这个搜索引擎/谷歌友好:)

谢谢!

【问题讨论】:

  • mydomaincom/ 和 mydomaincom/index.php 对于浏览器来说是两个完全不同的页面(对于谷歌来说也是如此)。您应该在整个网络中只使用一个版本。
  • 感谢 Petr,但我不确定我是否理解。那么,您是说如果导航位于主页或其他页面上,我应该使菜单按钮 mydomaincom/# 中的 URL 不受控制?

标签: php html navigation hyperlink


【解决方案1】:

虽然我可以对其进行硬编码,但我创建了一个名为 $index 的 php 变量,我在首先加载的初始设置文件中设置了该变量。我将变量设置为 mydomaincom/#,然后将作为页面锚点的导航按钮链接更新为 .我不需要将其设为变量,但这意味着如果我也需要,我可以在将来更轻松地更改它。

指向 index.php 页面上锚点的所有导航链接的格式都类似于 mydomaincom/# 和离页链接 mydomaincom/page?=。确保在使用 index.php 页面和关闭页面上的菜单以及检查所有浏览器中的速度和功能时这有效。

谢谢!

【讨论】:

    猜你喜欢
    • 2013-01-15
    • 2013-11-16
    • 2011-02-12
    • 2012-12-25
    • 1970-01-01
    • 2012-11-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多