Javascript 什么';浏览器关闭后打开最后一页的最佳方式是什么?
我有这段代码,如果你转到Javascript 什么';浏览器关闭后打开最后一页的最佳方式是什么?,javascript,php,jquery,html,ajax,Javascript,Php,Jquery,Html,Ajax,我有这段代码,如果你转到子目录yname/index.php,它会将你重定向到你打开的最后一页。它起作用了,但我觉得它真的很傻。有没有人对我如何更优雅地实现这一点有更好的想法 不要将其与window.history.back()混淆; 我正试图让浏览器记住您上次打开的页面。所以即使你关闭浏览器。明天再打开网站。www.example.com您将被重定向到www.example.com/lastpageyouopened.php setCookieLastPage.php <?php set
子目录yname/index.php
,它会将你重定向到你打开的最后一页。它起作用了,但我觉得它真的很傻。有没有人对我如何更优雅地实现这一点有更好的想法
不要将其与window.history.back()混淆;
我正试图让浏览器记住您上次打开的页面。所以即使你关闭浏览器。明天再打开网站。www.example.com您将被重定向到www.example.com/lastpageyouopened.php
setCookieLastPage.php
<?php
setcookie(
'LastPageVisited',
$_POST['lastpagevisited'],
time() + 199999999
);
?>
<?php include_once 'header.php'; ?>
<a href="<?php if(isset($_COOKIE['LastPageVisited'])){echo $_COOKIE['LastPageVisited'];}else{ echo 'defaultpage.php';} ?>" class="hiddenlink-lastpageopened"></a>
<?php include_once 'footer.php'; ?>
注意:我现在正在使用另一个网站项目的子目录,因为这个项目仍然没有自己的域。当我们将其移动到自己的域时,将不再有/子目录名/,index.php的路径将只是“index.php”,而不是“subdirectory/index.php”您可以在每次页面更改时捕获
esc\u url($\u SERVER['REQUEST\u URI')
,然后您可以将其放入标题中(位置…
php调用。当浏览器重新打开并登录时,页面加载时-包装在:
$redirect_url_var = http etc from your database
if( isset( $redirect_url_var)){
header("Location: $redirect_url_var");
}
使用来自的代码
确保在header()
之前没有输出,否则会造成混乱-将其放在doctype之前的页面顶部(假设他们在浏览时登录了您的站点)
您可以从会话cookie中获取信息-
如果您可以使用会话,可能会有所帮助
如果将其放入web root上的空白php页面,则可以在“会话”下查看php安装中的设置:
<?php phpinfo(); ?>
你可以搞乱它们持续的时间(加上许多其他SO帖子):这只适用于一个位置和浏览器,如果用户更改到另一台机器,例如在工作或家中,则不会被选中
使用htaccess
guru和用户日志文件,您可能会从ModRewrite
中获得一些乐趣-可能是在一个带有IP、URI、Time
的平面csv类型文件中(时间是这样的,您可以删除IP已更改的死文件)IP地址可以更改-例如TalkTalk经常重置它们的IP地址,或者在路由器重新启动时它们会更改,给您留下一个不再存在或至少不再属于该用户的IP地址的日志条目
您可以使用fail2ban的核心功能—存储IP地址—fail2ban如果您幸运的话,您可以像fail2ban一样找到一种访问服务器上日志文件的方法,然后您可以从中计算出给定IP地址访问的最后一页—省去您自己记录日志的需要
还有一种方法可以从awstats获取用户统计信息
不确定我是否希望浏览器将其他人带到我在您的网站上查看的最后一个页面,如果没有登录,但这取决于您。我认为这是@adeneo,我不是在寻找类似于窗口的后退按钮。history.back()我试图让浏览器记住你上次打开的页面。因此,即使你关闭浏览器。明天再打开网站。www.example.com你将被重定向到www.example.com/lastpageyouopened。phpI认为这个问题需要详细说明。最后一个用户打开的页面是当前页面,不是吗?@YuriTkachenko这就是我的代码所做的。但是我认为我这样做是非常愚蠢的。就像我必须一直检查当前位置一样。我在index.php^^;@Teemu中放置了一个隐藏项。我放在index.php中,如果他/她在index.php中,它将不会将其保存在cookie:D中
<?php phpinfo(); ?>