首页 > 解决方案 > 清除 sessionStorage 不会从 iFrame 中清除会话存储。有没有办法做到这一点?

问题描述

我目前正在运行一个 Web 应用程序,它本质上是一个带有一组按钮的菜单。当您按下按钮时,它会隐藏菜单并在后面显示 iFrame。

当我离开该 iFrame 时,我想清除会话,我尝试过这样做:

clearSession() {
 try {
     window.sessionStorage.clear()
     }
 catch(err) {
       console.log(err)
     }
}

但是,这只是清除我的应用程序的会话,而不是 iFrame(iFrame 会话是 shu.ac.uk)。是否可以清除 iFrame 的会话?

我可以在浏览器中看到我的会话和 iFrame 会话:

Chrome 中的会话存储

标签: javascriptvue.jssessioniframe

解决方案


您需要引用 iframe 的 window 对象,而不仅仅是您的父页面。

const iframe = document.queryselector('iframe');
iframe.contentWindow.sessionStorage.clear();

推荐阅读