React Js 微信禁止複製連結,分享,禁止隱藏右上角選單
阿新 • • 發佈:2019-02-09
本文出自:
/**
* 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);這一句