1. 程式人生 > >React Js 微信禁止複製連結,分享,禁止隱藏右上角選單

React Js 微信禁止複製連結,分享,禁止隱藏右上角選單

本文出自:

/**
 * Created by wuyakun on 2017/5/23.
 */

let wxUtils = {};

/**
 * 是否開啟右上角Menu
 * @param open
 */

wxUtils.optionMenu = function (open = true) {
    if (open) {
        openOptionMenu();
    } else {
        disabledOptionMenu();
    }
};

/**
 * 是否禁用右上角
 */

function disabledOptionMenu() {
    if
(typeof WeixinJSBridge === "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady(true), false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady(true)); document.attachEvent('onWeixinJSBridgeReady'
, onBridgeReady(true)); } } else { onBridgeReady(true); } } /** * 開啟menu */ function openOptionMenu() { if (typeof WeixinJSBridge === "undefined") { if (document.addEventListener) { document.addEventListener('WeixinJSBridgeReady', onBridgeReady(false
), false); } else if (document.attachEvent) { document.attachEvent('WeixinJSBridgeReady', onBridgeReady(false)); document.attachEvent('onWeixinJSBridgeReady', onBridgeReady(false)); } } else { onBridgeReady(false); } } function onBridgeReady(disable = true) { if (typeof WeixinJSBridge !== "undefined") WeixinJSBridge.call(disable ? 'hideOptionMenu' : 'showOptionMenu'); } /** * 隱藏微信網頁底部的導航欄 * @param disable */ wxUtils.disabledToolbar = function (disable = true) { document.addEventListener('WeixinJSBridgeReady', function onBridgeReady() { // 通過下面這個API隱藏底部導航欄 WeixinJSBridge.call(disable ? 'hideToolbar' : 'showToolbar'); }); }; /** * 獲取網路型別 */ wxUtils.getNetworkType = function () { //network_type:wifi wifi網路 2 network_type:edge 非wifi,包含3G/2G 3 network_type:fail 網路斷開連線 4 network_type:wwan 2g或者3g WeixinJSBridge.invoke('getNetworkType', {}, function (e) { // 在這裡拿到e.err_msg,這裡面就包含了所有的網路型別 return e; }); }; export default wxUtils;

用法很簡單:


export default class BaseComponent extends React.Component {
    componentDidMount() {
        try {
            //如果存在location說明是路由Component
            if (this.props.location) {
                // 全部禁用分享,想要分享自己開
                wxUtils.optionMenu(false);
            }
        } catch (e) {
            // console.log(e);
        }
    }
}

我寫在了Base裡面,主要是wxUtils.optionMenu(false);這一句