我有一些关于如何在点击浏览器的后退按钮时订阅的研究,但遗憾的是我无法找到问题的正确答案
我试过这样做:
var $window = $(window);
$window.on('beforeunload', function()
{
commitFieldChanges();
});
我使用了需要JS来实现这个
,另一个解决方法是
$(window).bind('beforeunload', function(){
return '';
});
但是所有这些都不起作用,因为我的应用程序是单页面应用程序。因此,当点击后退按钮时,页面并没有真正加载,因为我们使用#在URL中的应用程序中导航,所以你觉得怎么样?对我的问题有任何建议吗?
答案 0 :(得分:1)
这是我目前用于我的应用程序的一种方式,用于检测某些页面上的后退按钮,该页面旨在支持桌面和移动设备的现代跨浏览器。
<强>主页强>
var isFromView = false;
$(function() {
// Check if browser supports LocalStorage
if(typeof(Storage) !== 'undefined') {
var currentValue = localStorage.getItem('fromSource');
if (currentValue && currentValue === 'view') {
// Set isFromDetail to true
isFromView = true;
}
else {
localStorage.removeItem('fromSource');
}
try {
// Set fromSource in localStorage.
localStorage.setItem('fromSource', 'home');
}
catch (err) {
// Need this for safari mobile private mode !!
}
}
});
<强>的ViewPage 强>
$(function() {
// Check if browser supports LocalStorage
if(typeof(Storage) !== 'undefined') {
try {
// Set fromSource in localStorage.
localStorage.setItem('fromSource', 'view');
}
catch (err) {
// Need this for safari mobile private mode !!
}
}
});
++:我已经使用历史API来对后退按钮执行操作。但是没有成功支持某些移动设备浏览器。