欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-18 15:03:40
废话不多说了,直接给大家贴代码了,具体代码如下所示: /** * created by wuyakun on 2017/5/23. */let wxuti...

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

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