javascript - 清除 sessionStorage 不会从 iFrame 中清除会话存储。有没有办法做到这一点?
问题描述
我目前正在运行一个 Web 应用程序,它本质上是一个带有一组按钮的菜单。当您按下按钮时,它会隐藏菜单并在后面显示 iFrame。
当我离开该 iFrame 时,我想清除会话,我尝试过这样做:
clearSession() {
try {
window.sessionStorage.clear()
}
catch(err) {
console.log(err)
}
}
但是,这只是清除我的应用程序的会话,而不是 iFrame(iFrame 会话是 shu.ac.uk)。是否可以清除 iFrame 的会话?
我可以在浏览器中看到我的会话和 iFrame 会话:
解决方案
您需要引用 iframe 的 window 对象,而不仅仅是您的父页面。
const iframe = document.queryselector('iframe');
iframe.contentWindow.sessionStorage.clear();
推荐阅读
- reactjs - 如何避免文本字符串必须在一个
组件问题? - python - 获取深度和 RGB 图像中关节的像素位置
- golden-layout - GoldenLayout - 如何在初始化期间优雅地处理未知组件
- php - Symfony 4 easy admin 和 vich uploader bundle 错误
- java - Java在同一个端口接收多个源的音频数据,如何分离播放
- c++ - 存储与任务关联的名称列表
- angular - Angular 6(和 7)中的 Mat-button-toggle 主题
- c# - .Net AsyncStateMachine 自定义实现行为
- workflow - 确定客户最后一次订购特定商品并让他们进入工作流程
- angular - PrimeNG:如何将页脚列组附加到冻结/固定视图