window.addEventListener没有用户点击聚合物2.0中的浏览器后退按钮?

时间:2018-03-03 13:25:09

标签: polymer polymer-2.0

window.addEventListener('popstate', function(event) {
   alert("you are not able to push back button");
 });

我已经使用聚合物2.0创建了Web应用程序,但我必须单击后退按钮才能注销浏览器我必须显示警报如果用户点击浏览器的后退按钮我试过了window.addEventListener但仍然有错误。

1 个答案:

答案 0 :(得分:0)

我无法停止浏览器的后退按钮,但我已设法解决它。在我的应用程序中,我想警告用户他们将通过备份到第一页注销,并让他们有机会离开或留下来。使用polymer-2-starter-kit作为我的起点,并跟踪connected属性,我得到了这个工作:

_routePageChanged(page) {
  // If no page was found in the route data, page will be an empty string.
  // Default to 'home' in that case.
  this.page = (page && this.connected) ? page : 'home';

  // Close the drawer.
  this.drawerOpened = false;
}

_pageChanged(page, oldPage) {
  // Warn user if backing up logs out.
  if ((page == '' || page == 'home') && this.connected) {
    if (window.confirm("Do you really mean to logout?")) {
      this.$.xhrLogout.generateRequest();
    } else {
      window.history.forward();
    }
  }
  const resolvedPageUrl = this.resolveUrl('my-' + page + '.html');
  Polymer.importHref(
      resolvedPageUrl,
      null,
      this._showPage404.bind(this),
      true);
}

因此,如果用户已连接并导航到初始页面,我可以强制他们留在window.history.forward()所在的页面上。