首页 > 解决方案 > addEventListener('popstate') 在 IE 11 中不起作用

问题描述

我正在尝试限制浏览器后退按钮。

我用下面的代码来限制。

history.pushState(null, document.title, location.href);
global.window.addEventListener('popstate', function () {
    history.pushState(null, document.title, location.href);
});

代码在 chrome 上运行得非常好,但在 IE11 中不起作用

请协助。

标签: javascripttypescriptinternet-explorer

解决方案


尝试参考下面的示例同时在 chrome 和 IE 中工作。

代码:

<html>
<head>
    <title>Disable Back Button in Browser - Online Demo</title>
    <style type="text/css">
       div{
  margin:auto;
  width:400px;
  border:1px solid black;
}
h1{
  text-align:center;
}
a{
  text-decoration:none;
}
p{
  text-align:center;
}
    </style>
    <script type="text/javascript">
       history.pushState(null, null, location.href);
    window.onpopstate = function () {
        history.go(1);
    };
    </script>
</head>
<body>
   <div>
<h1><a href="http://www.justwebcode.com" rel="index,follow">Just Web Code</a></h1>
  <p>Click on Browser Back Button to Check</p>
</div>
</body>
</html>

参考:

如何使用 JavaScript 禁用浏览器后退按钮

注意:- 尝试在本地运行代码,如果从堆栈溢出代码段运行代码,则会出现错误。


推荐阅读