如何在浏览器中杀死页面后运行任务?

首先,它有两页:example.com/pageA而且example.com/pageB,它不是SPA。


页面被杀死后如何运行延迟任务history.back?


我尝试使用setTimeout但未能在 之后执行任务history.back,因为timer页面更改时堆栈中将清除。


var a = 1


function refresh() {

  // <p id="count"></p>

  count.innerText = a

}


function foo() {

  a += 1

  refresh()

}


// called in PageB

function goBackA() {

  setTimeout(foo, 1000)

  history.back()

}

在PageA计数中仍然是 1 而不是 2。


一只斗牛犬
浏览 163回答 1
1回答

慕村225694

出于安全原因,浏览器永远不会支持您在页面被杀死后运行一些代码的目标,因为当某些代码可以在不同的页面上运行时,这是危险的。一旦页面被重新加载/终止,即使在SharedWorker.因此,有两种方法可以完成您的逻辑:改为SPA给另一个页面一个类似查询的提示
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript