使用Javascript或AngularJS控制或禁用浏览器返回按钮
Control or Disable Browser Back Button with Javascript or AngularJS
使用Javascript或AngularJS 控制或禁用浏览器返回按钮
在这里,我不是在问问题,但我想展示一个解决方案,如果您使用AngularJS,甚至使用Javascript ,如何禁用和控制浏览器的后退按钮
如果您只是在使用Javascript,您可以通过以下链接检查如何禁用后退按钮:
http://jordanhollinger.com/2012/06/08/disable-the-back-button-using-html5/
但是上面的代码不能很好地与AngularJS一起使用,因为AngularJS在后台使用URL_Hash#,所以在这里我将展示如何扭转局面:
在您的主Javascript代码中(不在AngularJS代码或控制器中),放入以下代码:
// *** Author: Wael Sidawi
// **** Deactive Back Button ****
var history_api = typeof history.pushState !== 'undefined';
// history.pushState must be called out side of AngularJS Code
if ( history_api ) history.pushState(null, '', '#StayHere'); // After the # you should write something, do not leave it empty
现在,在您的AngularJS Controler中放入以下事件列表:
/**
* Event-Listner for Back-Button
*/
$scope.$on('$locationChangeStart', function(event, next, current){
// Here you can take the control and call your own functions:
alert('Sorry ! Back Button is disabled');
// Prevent the browser default action (Going back):
event.preventDefault();
});
我希望它能帮助你。
致以最诚挚的问候
Wael
相关文章:
- 当使用ajax并将html数据保存为对象时,收听浏览器返回按钮.好的或坏的
- 使用Javascript或AngularJS控制或禁用浏览器返回按钮
- 浏览器返回按钮上的确认框
- 当我点击浏览器返回选项时,阻止在php上刷新页面
- 检测用户是否通过浏览器返回按钮到达当前页面
- Safari浏览器返回按钮问题
- Web浏览器返回按钮应返回到特定页面
- 一旦用户登录JSF页面,就禁用浏览器返回按钮
- 在浏览器返回/forwd 按钮单击时保存/恢复所有 JavaScript 变量
- 在浏览器返回时使window.history.state null的可能情况是什么
- 在浏览器返回时触发事件,并使用新 url 强制刷新或重新加载页面
- eval 返回未定义,浏览器返回结果
- 如何区分浏览器返回和用户手动更改位置哈希
- 浏览器返回上一页功能,如果返回如何重新加载文档
- 浏览器返回后,jquery Get 不会触发
- Perl:不向浏览器返回任何内容
- 使用浏览器返回时,Angular $location不会更新
- 绑定事件在Chrome上失败,但在浏览器返回时在Firefox中正常
- 我怎么知道在Firefox中是点击了刷新按钮还是浏览器返回按钮
- 点击Ipad浏览器返回按钮