微信H5网页 常用的JS操作

17 篇文章 0 订阅
2 篇文章 0 订阅

更新时间:2019-12-11  亲测可用

一、禁止浏览器回退/返回 

// 禁止浏览器回退/返回
function banReturn() {
    XBack = {};
    (function (XBack) {
        XBack.STATE = 'x - back';
        XBack.element;
        XBack.onPopState = function (event) {
            event.state === XBack.STATE && XBack.fire();
            XBack.record(XBack.STATE); //初始化事件时,push一下
        };
        XBack.record = function (state) {
            history.pushState(state, null, location.href);
        };
        XBack.fire = function () {
            var event = document.createEvent('Events');
            event.initEvent(XBack.STATE, false, false);
            XBack.element.dispatchEvent(event);
        };
        XBack.listen = function (listener) {
            XBack.element.addEventListener(XBack.STATE, listener, false);
        };
        XBack.init = function () {
            XBack.element = document.createElement('span');
            window.addEventListener('popstate', XBack.onPopState);
            XBack.record(XBack.STATE);
        };
    })(XBack);
    XBack.init();
    XBack.listen(function () { });
}

 

二、监听浏览器返回/离开

// 监听浏览器返回离开事件, 必须先有history.pushState() 才能使用这个这 popstate 方法监听
window.addEventListener("popstate", function(e) {
    console.log("我监听到页面离开了")
    // window.location.href = 'XXX'; // 可以指定返回哪一个页面。或者做其他业务相关的逻辑操作
}, false);

// 该方法添加了一个历史记录,路径为#,保证了不刷新页面,不直接后退。
pushHistory();
function pushHistory() { 
    var state = {
        title: "title", // 这可以随意填写
        url: "#"
    };
    window.history.pushState(state, "title", "#");
}

 

三、关闭微信浏览器页面

//关闭微信浏览器页面
function weixinClosePage() {
    if (typeof WeixinJSBridge == "undefined") {
        if (document.addEventListener) {
            document.addEventListener('WeixinJSBridgeReady', weixin_ClosePage, false);
        } else if (document.attachEvent) {
            document.attachEvent('WeixinJSBridgeReady', weixin_ClosePage);
            document.attachEvent('onWeixinJSBridgeReady', weixin_ClosePage);
        }
    } else {
        WeixinJSBridge.call('closeWindow');
    }
}

 

四、修改默认的alert弹框

// 修改默认的alert弹框
window.alert = function (name) {
    var iframe = document.createElement("IFRAME");
    iframe.style.display = "none";
    iframe.setAttribute("src", 'data:text/plain,');
    document.documentElement.appendChild(iframe);
    window.frames[0].window.alert(name);
    iframe.parentNode.removeChild(iframe);
};

 

五、获取地址栏的参数

// 获取地址栏的参数
function getQueryString(name) {
    var reg = new RegExp("(^|&)" + name + "=([^&]*)(&|$)", "i");
    var r = window.location.search.substr(1).match(reg);
    if (r != null)
        return unescape(r[2]);
    return null;
}

 

六、cookie增删改查

// 获取cookie
function getCookie(cname) {
    var name = cname + "=";
    var decodedCookie = decodeURIComponent(document.cookie);
    var ca = decodedCookie.split(';');
    for(var i = 0; i <ca.length; i++) {
        var c = ca[i];
        while (c.charAt(0) == ' ') {
            c = c.substring(1);
         }
         if (c.indexOf(name) == 0) {
            return c.substring(name.length, c.length);
         }
     }
    return "";
}
		
// 设置cookie 或修改cookie
function setCookie(objName, objValue, objDays) {
    var str = objName + "=" + escape(objValue);
    if(objDays > 0) {
        // objDays 单位天 
        var date = new Date();
        var ms = objDays * 24 * 3600 * 1000;
        date.setTime(date.getTime() + ms);
        str += "; expires=" + date.toGMTString();
    }
	
    // 永久保存
    if(objDays === Infinity){
        str += "; expires=Fri, 31 Dec 9999 23:59:59 GMT";
    }
	
    str += "; path=/";
    document.cookie = str;
};

// 删除cookie
function delCookie(objName) {
    // 设置为过去的日期即可删除
    document.cookie = objName + "=; expires=Thu, 01 Jan 1970 00:00:00 UTC; path=/;";
}

 

微信H5网页授权是指在使用微信浏览器访问H5网页时通过微信授权登录,获取用户的基本信息。这个过程分为三个步骤:引导用户授权、获取授权码、通过授权码获取用户信息。 首先,用户进入H5网页后,网页需要引导用户进行授权登录。网页可以通过调用微信JS-SDK中的微信授权接口,弹出微信授权登录的窗口。用户点击确认后,微信会生成一个授权码,并跳转回H5网页。 然后,网页需要使用授权码去微信服务器获取用户的基本信息。网页可以通过HTTP请求,将授权码发送给微信服务器的接口,并附上AppID和AppSecret等参数微信服务器验证授权码的有效性后,会返回用户的基本信息,如openid、昵称、头像等。 最后,网页可以根据获取的用户基本信息,进行相应的业务操作。比如显示用户的头像和昵称,或者根据openid等唯一标识,将用户与其它业务系统进行关联。 需要注意的是,进行微信H5网页授权需要先申请微信开放平台的开发者账号,并创建一个公众号或移动应用。通过在微信开放平台进行配置,获取AppID和AppSecret等必要的参数,用于网页授权的流程中。 总结起来,微信H5网页授权获取用户基本信息是通过使用微信的授权接口,引导用户进行授权登录,再通过授权码和微信服务器进行交互,最终获取用户的基本信息。这个过程可以实现在H5网页上使用微信账号登录,并获取用户信息的功能。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值