使用javascript是点击链接或按钮时必须返回上一页的最有效方法吗?如果在用户端禁用了javascript(大多数人没有),但跨浏览器是否存在任何已知问题,该怎么办?就像有任何浏览器不支持history.back()函数
我正在使用此代码返回上一页:
<a href="javascript:history.back();">[Go Back]</a>
答案 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>