您的位置:首页 > 移动开发 > 微信开发

React Js 微信禁止复制链接分享禁止隐藏右上角菜单功能

2017-05-26 09:12 1181 查看

废话不多说了,直接给大家贴代码了,具体代码如下所示:

/**
* 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);这一句

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息