首页  >  文章  >  web前端  >  详解React Js中微信禁止复制链接分享禁止隐藏右上角菜单功能的案例分析

详解React Js中微信禁止复制链接分享禁止隐藏右上角菜单功能的案例分析

黄舟
黄舟原创
2017-05-26 10:14:282723浏览

这篇文章主要介绍了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);这一句

以上是详解React Js中微信禁止复制链接分享禁止隐藏右上角菜单功能的案例分析的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn