【问题标题】:Make hierarchical back button in either javascript or php在javascript或php中制作分层后退按钮
【发布时间】:2012-05-09 18:38:26
【问题描述】:

我正在为我的网站创建一个移动主题,我决定为显示在网站标题旁边的标题的人制作一个后退按钮会很好。现在我想出了如何在 javascript 或 php 中创建一个后退按钮,这在将用户返回到最后访问的页面时效果很好。

Javascript:

<input type="button" value="Go Back From Whence You Came!" onclick="history.back(-1)" />

PHP:

<?php
  $url = htmlspecialchars($_SERVER['HTTP_REFERER']);
  echo "<a href='$url'>back</a>";
?>

现在的问题是我不希望人们返回他们访问的最后一个页面,而是最终返回页面的层次结构回到主页。

现在是这样的:

  • 我转到页面 A
  • 然后我去页面B,点击进入页面C。
  • 当我点击页面 C 上的返回按钮时,我会进入页面 B。
  • 当我点击页面 B 上的后退按钮时,我会进入页面 C。

我希望它如何工作:

  • 我转到页面 A
  • 然后我去页面B,点击进入页面C。
  • 当我点击页面 C 上的返回按钮时,我会进入页面 B。
  • 然后,当我单击页面 B 上的返回按钮时,我会返回页面 A。

所以我需要它更像浏览器上的正常后退按钮一样工作,而不仅仅是带您回到上一页,因为这会导致无限循环,我相信这会让人们感到不安。

另外值得注意的是,我正在一个巨大的网站上工作,该网站在 1 个 page.tpl.php 文件中包含大量由 Drupal 6 构建的内容。所以我不能简单地说是否在页面 B 上转到页面 A,但它必须是动态的,无论我在哪里插入它都可以工作。

非常感谢您的帮助!

【问题讨论】:

  • hmmm.. 如果您只离开没有后退按钮的页面会不会更好,因为浏览器有一个内置的后退按钮,人们知道它是如何工作的?看起来你正在添加一些没有价值的东西

标签: php javascript jquery html navigation


【解决方案1】:

如果你仍然想添加这个按钮(这可能会搞砸浏览器的前进按钮),你可以使用 php 会话对象或任何它被调用的东西来完成,我不知道 php,但这里是逻辑我认为会起作用

每次进入页面时,将 URl 保存在此持久性变量/数组中,将最后输入的 URL 作为按钮的 url 输出,然后将当前 URL 添加到此数组中。当您单击按钮时,您需要从数组中删除链接中的 URL 及其后面的所有内容。

a-b-c-d 如果您在页面 d 并按回,则需要删除 c 和 d 并将链接输出为 b 要么 如果您在 d 上并按回您需要删除 d 并将 b 输出为 URL 那么当最后意味着你在页面a时,按钮将消失。

他似乎需要做很多工作才能放入每个浏览器中都存在的东西

【讨论】:

    猜你喜欢
    • 2014-11-28
    • 1970-01-01
    • 2020-11-23
    • 1970-01-01
    • 1970-01-01
    • 2013-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多