收藏
回答

iOS微信浏览器和微信小程序的H5,localstorage会共存

框架类型 问题类型 操作系统 操作系统版本 手机型号 微信版本
小程序 Bug iOS iOS 15.2 iPhone11 8.0.16
<!DOCTYPE html>
<html lang="zh-cn">
    <head>
        <meta charset="UTF-8" />
        <meta http-equiv="X-UA-Compatible" content="IE=edge" />
        <meta name="viewport" content="width=device-width, initial-scale=1.0" />
        <title>Document</title>
    </head>
    <body>
        <script src="https://cdn.staticfile.org/eruda/2.4.1/eruda.min.js"></script>
        <script>
            eruda.init();
        </script>
        <script>
            function getDeviceType() {
                const userAgent = navigator.userAgent;
                let deviceType = 0;
                if (userAgent.toLowerCase().indexOf("micromessenger") !== -1) {
                    if (userAgent.toLowerCase().indexOf("miniprogram") !== -1) {
                        deviceType = 5;
                    } else {
                        deviceType = 3;
                    }
                } else {
                    deviceType = 4;
                }
                return deviceType;
            }
            let deviceType = getDeviceType();
            console.log("🚀 ~ file: 测试缓存.html ~ line 51 ~ deviceType", deviceType);
            if (deviceType == 3) {
                localStorage.setItem("weixinh5", true);
            }
            if (deviceType == 5) {
                localStorage.setItem("mini", true);
            }
            if (deviceType == 4) {
                localStorage.setItem("h5", true);
            }
        </script>
    </body>
</html>



以上代码,本地起服务器,

先在微信浏览器(第二张图)中打开,再配置在小程序(第一张图)中打开,保证两次打开不跨域

微信浏览器保存的localStorage会被带到小程序环境中

仅iOS会出现

回答关注问题邀请回答
收藏

2 个回答

  • 王利军
    王利军
    2022-06-15

    你解决了么?


    2022-06-15
    有用
    回复
  • 太白免
    太白免
    2022-01-05

    没人吗?

    没人吗?

    2022-01-05
    有用
    回复
登录 后发表内容