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


Posted in Javascript onMay 26, 2017

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

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

Javascript 相关文章推荐
效率高的Javscript字符串替换函数的benchmark
Aug 02 Javascript
js 文件引入实现代码
Apr 23 Javascript
JS 实现Table相同行的单元格自动合并示例代码
Aug 27 Javascript
Jquery 例外被抛出且未被接住原因介绍
Sep 04 Javascript
我的Node.js学习之路(三)--node.js作用、回调、同步和异步代码 以及事件循环
Jul 06 Javascript
JS+CSS实现感应鼠标渐变显示DIV层的方法
Feb 20 Javascript
js实现仿京东2级菜单效果(带延时功能)
Aug 27 Javascript
jquery Easyui Datagrid实现批量操作(编辑,删除,添加)
Feb 20 Javascript
完美解决linux下node.js全局模块找不到的情况
May 16 Javascript
详解使用Nuxt.js快速搭建服务端渲染(SSR)应用
Mar 13 Javascript
微信接入之获取用户头像的方法步骤
Sep 23 Javascript
微信小程序实现页面浮动导航
Jan 08 Javascript
AngularJS表单验证功能分析
May 26 #Javascript
给Easyui-Datebox设置隐藏或者不可用的解决方法
May 26 #Javascript
vue-cli+webpack在生成的项目中使用bootstrap实例代码
May 26 #Javascript
BootStrap中的Fontawesome 图标
May 25 #Javascript
Vue.js 中的 $watch使用方法
May 25 #Javascript
详解Javascript获取缓存和清除缓存API
May 25 #Javascript
Angularjs 实现动态添加控件功能
May 25 #Javascript
You might like
php error_log 函数的使用
2009/04/13 PHP
php三元运算符知识汇总
2015/07/02 PHP
php对二维数组进行相关操作(排序、转换、去空白等)
2015/11/04 PHP
jquery+thinkphp实现跨域抓取数据的方法
2016/10/15 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
jQuery getJSON 处理json数据的代码
2010/07/26 Javascript
jQuery-Tools-overlay 使用介绍
2012/07/14 Javascript
JQuery实现table行折叠效果以JSON做数据源
2014/05/26 Javascript
jQuery实现的Div窗口震动特效
2014/06/09 Javascript
dreamweaver 8实现Jquery自动提示
2014/12/04 Javascript
JS使用JSON作为参数实例分析
2016/06/23 Javascript
bootstrap导航栏、下拉菜单、表单的简单应用实例解析
2017/01/06 Javascript
老生常谈jquery id选择器和class选择器的区别
2017/02/12 Javascript
利用Javascript裁剪图片并存储的简单实现
2017/03/13 Javascript
html5+canvas实现支持触屏的签名插件教程
2017/05/08 Javascript
利用JavaScript的%做隔行换色的实例
2017/11/25 Javascript
vue.js使用v-if实现显示与隐藏功能示例
2018/07/06 Javascript
layer弹出层 iframe层去掉滚动条的实例代码
2018/08/17 Javascript
layui在form表单页面通过Validform加入简单验证的方法
2019/09/06 Javascript
vue仿淘宝滑动验证码功能(样式模仿)
2019/12/10 Javascript
JS实现网页端猜数字小游戏
2020/03/06 Javascript
Vue简单实现原理详解
2020/05/07 Javascript
react结合bootstrap实现评论功能
2020/05/30 Javascript
使用vue3重构拼图游戏的实现示例
2021/01/25 Vue.js
Python操作MySQL数据库的方法
2018/06/20 Python
django 单表操作实例详解
2019/07/30 Python
python基于opencv检测程序运行效率
2019/12/28 Python
python新式类和经典类的区别实例分析
2020/03/23 Python
JupyterNotebook 输出窗口的显示效果调整实现
2020/09/22 Python
如何使用localstorage代替cookie实现跨域共享数据问题
2018/04/18 HTML / CSS
描述RIP和OSPF区别以及特点
2015/01/17 面试题
电子专业毕业生自我鉴定
2014/01/22 职场文书
个人总结与自我评价
2014/09/18 职场文书
2014年作风建设剖析材料
2014/10/23 职场文书
幼儿园见习总结
2015/06/23 职场文书
德生BCL3000抢先使用感受和评价
2022/04/07 无线电