是否可以检测用户何时点击浏览器的后退按钮?
我有一个Ajax应用程序,如果我能检测到用户点击后退按钮的时间,我可以显示相应的数据
任何使用PHP,JavaScript的解决方案都是首选.地狱解决方案在任何语言都很好,只需要一些我可以翻译成PHP/JavaScript的东西
哇,所有优秀的答案.我想使用Yahoo,但我已经使用了Prototype和Scriptaculous库,并且不想添加更多的ajax库.但是它使用iFrames,它为我编写自己的代码提供了一个很好的指针.
我在这里和其他地方搜索了很多帖子,但似乎无法找到我的问题的解决方案.我有一个显示数据库条目的页面:database.php.可以使用表单过滤这些条目.当我过滤它们并只显示我感兴趣的那些时,我可以点击一个条目(作为链接),它将我带到那个条目页面(通过php GET).当我在该条目页面上(即"view.php?id = 1")并点击后退按钮(返回到database.php)时,过滤器表单需要确认表单重新提交.有什么方法可以防止这种情况吗?
这里有一些(简化的)代码示例:
database.php中:
<form>
<select>
<option>1</option>
<option>2
<option>
</select>
<input type="submit" name="apply_filter" />
</form>
<?php
if ( isset( $_POST[ "apply_filter" ] ) ) { // display filtered entries
$filter = $_POST[ "filter" ];
$q = "Select * from table where col = '" . $filter . "'";
$r = mysql_query( $q );
} else { // display all entries
$q = "Select * from table";
$r = mysql_query( $q );
}
while ( $rec = mysql_fetch_assoc( $r …Run Code Online (Sandbox Code Playgroud) 有没有办法检测当前页面是否来自后退按钮?
我想只在当前页面来自后退按钮时从cookie加载数据.
我在Chrome和Edge中遇到的问题:
在Firefox中,表仍按正确的列排序,并且仍在正确的页面上.如何让Chrome和Edge也采用这种方式?
我知道DataTables有它的stateSave选项(文档和示例),但问题是当用户浏览网站然后单击链接转到具有DataTables表的页面时,它会将它们重新置于同一状态在那种情况下也是.我只希望用户在使用浏览器的后退按钮时重新进入相同的状态.
我在Chrome(会话的东西)上有重复的标签时遇到问题,我想避免重复标签的操作(或者没有关闭重复的标签).我打开标签,因为它是一个弹出窗口,没有地址栏,没有状态栏,也没有任何东西,只有窗口.在IE和Firefox中没有办法复制一个标签(作为弹出窗口打开)(至少我没有找到),但是在Chrome中仍然可以.
知道如何处理这个问题吗?
谢谢!
我有一个PHP / Javascript页面,可通过一次登录自动将用户登录到不同的系统。这些是外部站点,除非用户单击“后退”按钮,否则所有站点均正常运行。然后它将它们重定向到它们的来源。
我希望将其重定向回我的主要网站,并避免陷入这种重定向梦night。所以我尝试了document.referrer,但这似乎只能抓住我当前所在的页面,而不是所引用的网站。我错了吗,还是不能这样做?
function myfunc () {
var frm = document.getElementById("loggedin1");
if(document.referrer != 'https://someurl') {
alert(document.referrer);//Just used to see output
frm.submit();
}
}
window.onload = myfunc;
Run Code Online (Sandbox Code Playgroud)
如果我可以使它正常运行,则可以else在其中添加一个,然后将其返回到我的网站。
谢谢!
javascript ×5
jquery ×2
php ×2
back ×1
browser ×1
datatables ×1
duplicates ×1
firefox ×1
forms ×1
get ×1
refresh ×1
tabs ×1