iframe页面获取父亲的localstorage
由于安全原因,iframe页面无法直接获取父页面的localstorage。但是,可以通过postMessage API在父页面和iframe页面之间进行通信,从而实现获取父页面的localstorage的目的。
以下是一个示例代码:
在父页面中,可以使用以下代码发送localstorage数据给iframe页面:
// 获取localstorage数据
const localStorageData = window.localStorage.getItem('myData');
// 发送数据给iframe页面
const iframe = document.querySelector('#myIframe');
iframe.contentWindow.postMessage(localStorageData, '*');
在iframe页面中,可以使用以下代码接收父页面传递过来的localstorage数据:
// 监听来自父页面的消息
window.addEventListener('message', (event) => {
if (event.origin !== 'http://example.com') return; // 确保消息来自合法的源
// 接收localstorage数据
const localStorageData = event.data;
console.log(localStorageData);
});
需要注意的是,这种方法需要确保消息来自合法的源,以避免跨站点攻击。在上面的示例代码中,我们通过检查消息的来源来确保消息来自合法的源
原文地址: https://www.cveoy.top/t/topic/fhdq 著作权归作者所有。请勿转载和采集!