使用javascript返回上一页

时间:2014-04-20 03:35:37

标签: javascript html html5 cross-browser

使用javascript是点击链接或按钮时必须返回上一页的最有效方法吗?如果在用户端禁用了javascript(大多数人没有),但跨浏览器是否存在任何已知问题,该怎么办?就像有任何浏览器不支持history.back()函数

我正在使用此代码返回上一页:

<a href="javascript:history.back();">[Go Back]</a>

7 个答案:

答案 0 :(得分:7)

根据this支持所有主流浏览器

答案 1 :(得分:3)

尝试使用此PHP代码生成后退按钮。

if($_SERVER["HTTP_REFERER"]) {
echo "<a href=\"".$_SERVER["HTTP_REFERER"]."\">[Go Back]</a>";
} else {
echo "<a href=\"javascript:history.go(-1);\">[Go Back]</a>";
}

基本上,您只会生成JS链接作为$_SERVER["HTTP_REFERER"]不存在时的备份。

答案 2 :(得分:2)

是的,我相信这是回归使用javascript的唯一方法,除了写这个

history.go(-1); //this is the same thing

如果禁用了javascript并且您没有使用任何服务器软件,那么我不知道用户在浏览器上点击后退按钮之外的任何方式。

根据w3schools - http://www.w3schools.com/jsref/met_his_back.asp

,它似乎得到了所有主流浏览器的支持

答案 3 :(得分:2)

如果您不想使用客户端脚本,您可以使用像php这样的服务器端: 尝试在每个页面中设置cookie

$now = "http://$_SERVER[HTTP_HOST]$_SERVER[REQUEST_URI]";
setcookie("back", $now);

现在在其他页面上:

if (isset($_COOKIE['back'])) 
{
echo "<a href='".$_COOKIE['back']."' target='_blank'>GO BACK</a>";
}

答案 4 :(得分:1)

如果禁用Javascript,您可以使用Flash,Java,Silvelight或其他基于控件的技术来帮助控制此行为作为后备​​。除此之外,如果用户拒绝支持,则无法控制用户浏览器历史记录导航

history.go(-1);

几乎是事实上的标准方式,但是,HTML5有一个更复杂的控制用户历史记录的机制(使用JavaScript),这不一定涉及整个页面切换(也就是说,逐个元素的基础上)你可以控制历史)

有关HTML5 / Javascript方法,请参阅此文章:HTML5 History Navigation

答案 5 :(得分:0)

您可以使用JavaScript已经实现的功能valueBox并在需要的地方实现它,我在按钮上使用了它,对我来说很好用

答案 6 :(得分:-1)

只需遵循以下代码即可。

<a href="#" onclick="window.history.back();">Back</a>