当我使用history.go(-1)命令时,它工作正常,但需要很长时间才能实现页面的显示。
<script type="text/javascript" language="javascript">
javascript:history.go(-1);
</script>
但是当我尝试在我的PHP代码中使用它时,它只是给我一个错误“Internet Explorer无法显示网页”。这是我的代码
<?php header(sprintf("Location: %s", "javascript:window.history.go(-1);")); ?>
在ff和chrome中,这非常有效,它可以快速返回上一页,无需重新加载。在ie中不是这样。
答案 0 :(得分:5)
回到上一页的常用方法不是将JavaScript传递到标题中,而是将用户引导到当前页面的引用者:
header("Location: " . $_SERVER["HTTP_REFERER"]);
由于您说您使用的是IE9,因此您应该知道IE9 doesn't support the HTML5 History API。继续前进,您可以放心IE10 does support this,但对于IE9,如果不使用History.js之类的内容,您将无法使用这些方法。
如果您只是想异步加载页面,可以使用XHR object或jQuery之类的工具,这可以大大简化其他详细的代码。使用jQuery,您可以轻松加载页面:
$("#container").load("targetPage.php #container");
哪会将#container
的内容从targetPage.php
加载到当前页面的#container
元素中。
答案 1 :(得分:0)
试试这个:
history.back(1);