1

我已将 click 事件处理程序附加到一个锚标记checkValid,该标记验证元素并使用 setTimeout 为 0 调用实际处理程序 [允许浏览器继续执行它]。

//Code is just illustration
function checkValid() {
   if(valid) {
       setTimeout(reloadDiv, 0);
   }
}

function reloadDiv() {
  console.log(window.location.href);
}

相同锚标记的默认处理程序使用 更改窗口位置history.pushState

我预计,由于 setTimeout(reloadDiv, 0) 我将window.location.href事件安排到队列末尾时会变得正确。

但它没有发生。如果我将 setTimeout 时间设置为 500 毫秒,它可以正常工作,但这似乎在浏览器和网络速度之间并没有保持不变。当网站使用时,是否有更好的方法来获取正确的 href url history.pushState

注意:我不拥有执行代码的域

4

0 回答 0