document.wasDiscarded

如果某个选项卡处于 Frozen 阶段,就随时有可能被系统丢弃,进入 Discarded 阶段。如果后来用户再次点击该选项卡,浏览器会重新加载该页面。

这时,开发者可以通过判断document.wasDiscarded属性,了解先前的网页是否被丢弃了。

  1. if (document.wasDiscarded) {
  2. // 该网页已经不是原来的状态了,曾经被浏览器丢弃过
  3. // 恢复以前的状态
  4. getPersistedState(self.discardedClientId);
  5. }

同时,window对象上会新增window.clientIdwindow.discardedClientId两个属性,用来恢复丢弃前的状态。