0

我正在为我的网站创建一个移动主题,我决定为出现在网站标题旁边标题的人制作一个后退按钮会很好。现在我想出了如何在 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 页,但它必须是动态的,无论我在哪里插入它都可以工作。

非常感谢你的帮助!

4

1 回答 1

0

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

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

abcd 如果您在页面 d 上并按回,则需要删除 c 和 d 并将链接输出为 b 或者如果您在 d 上并按回您需要删除 d 并将 b 作为 URL 输出,然后何时结束您在页面 a,按钮将消失。

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

于 2012-05-09T18:54:43.973 回答