Can I cancel location.href in Javascript

后端 未结 2 1881
误落风尘
误落风尘 2021-01-20 02:35

It might sound silly, but I need this functionality.

Can I somehow cancel location.href = \'url\' in Javascript once it is executed?

For ex

2条回答
  •  有刺的猬
    2021-01-20 03:11

    Yes you can. You can use the beforeunload event to display an alert that the user can confirm or cancel. When the user cancels it, the page navigation is canceled.

    Example:

    window.addEventListener('beforeunload', (event) => {
      // Cancel the event as stated by the standard.
      event.preventDefault();
      // Chrome requires returnValue to be set.
      event.returnValue = '';
    });
    

    Note that not all browsers implement this the same way, and Chrome requires you to set the returnValue property on the event to trigger the alert even though the HTML spec says that you should call event.preventDefault() to trigger it.

提交回复
热议问题