javascript 如何在调用history.back()之前检查URL?

m1m5dgzv  于 2023-11-15  发布在  Java
关注(0)|答案(1)|浏览(113)

基本上,我想检查如果history.back(),我呼吁按钮点击带我到一个外部页面,并阻止按钮在这种情况下,

jckbn6z7

jckbn6z71#

简短的回答是,您无法获得以前的外部Web URL。请查看此历史记录API:https://developer.mozilla.org/en-US/docs/Web/API/History
但是,如果外部页面的值并不重要,而只是因为它是外部页面,那么您可以欺骗它。只需在导航时保留一个路由状态。
当用户从您的应用导航到应用中的其他页面时,设置一个状态,指示前一个页面是内部页面。然后,一旦用户单击您的按钮,请检查该状态并根据其值执行操作。

示例:

通过导航数据:

this.router.navigate(['/some-internal-page', { internal: true }]);

字符串
读取数据:

this.isInternal = this.route.snapshot.paramMap.get('internal'));


然后,当用户单击按钮时,按照this.isInternal值进行操作。

相关问题