javascript – 如何防止脚本更改window.location或在当前页面上重新加载?

我想阻止第三方脚本更改window.location和/或使用
Javascript重新加载当前页面.有没有办法监视位置更改或窗口重新加载事件并取消它们.我无法控制执行此操作的
JavaScript库,我需要在关键操作期间临时阻止页面重新加载.我不是试图阻止用户重新加载页面,只是其他脚本.欢迎使用jQuery解决方案.

谢谢!

编辑:该解决方案只需要在Firefox中工作.

最佳答案 为了防止reload(),您可以执行以下操作:

var canReload = true;
var realReload = window.reload;
window.reload = function() {
  if (canReload) { 
    realReload();
  }
}

基本上用你自己的覆盖重写功能.我不确定属性赋值是否可以完成相同的操作(设置window.location).您可以查看Firefox的自定义getter / setter(__ undefineSetter__)函数,并为window的location属性创建一个setter.

点赞