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 相关文章推荐
JavaScript Chart 插件整理
Jun 18 Javascript
jquery isType() 类型判断代码
Feb 14 Javascript
javascript 回到顶部效果的实现代码
Feb 17 Javascript
一个小例子解释如何来阻止Jquery事件冒泡
Jul 17 Javascript
jquery利用json实现页面之间传值的实例解析
Dec 12 Javascript
jQuery图片瀑布流的简单实现代码
Mar 15 Javascript
js实现移动端轮播图效果
Dec 09 Javascript
使用typescript开发angular模块并发布npm包
Apr 19 Javascript
JavaScript设计模式之代理模式简单实例教程
Jul 03 Javascript
vue-cli3环境变量与分环境打包的方法示例
Feb 18 Javascript
详解使用React.memo()来优化函数组件的性能
Mar 19 Javascript
Vue页面手动刷新,实现导航栏激活项还原到初始状态
Aug 06 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模块 Memcached功能多于Memcache
2011/06/14 PHP
MySQL 日期时间函数常用总结
2012/06/12 PHP
PHP中设置时区,记录日志文件的实现代码
2013/01/07 PHP
PHP创建/删除/复制文件夹、文件
2016/05/03 PHP
PHP单例模式是什么 php实现单例模式的方法
2016/05/14 PHP
php 遍历目录,生成目录下每个文件的md5值并写入到结果文件中
2016/12/12 PHP
javascript getElementsByName()的用法说明
2009/07/31 Javascript
jQuery处理json数据返回数组和输出的方法
2015/03/11 Javascript
《JavaScript高级编程》学习笔记之object和array引用类型
2015/11/01 Javascript
两行代码轻松搞定JavaScript日期验证
2016/08/03 Javascript
js注入 黑客之路必备!
2016/09/14 Javascript
jQuery实现的省市联动菜单功能示例【测试可用】
2017/01/13 Javascript
jQuery中Chosen三级联动功能实例代码
2017/03/07 Javascript
Vue.js结合bootstrap实现分页控件
2017/03/10 Javascript
js中变量的连续赋值(实例讲解)
2017/07/08 Javascript
vuex 使用文档小结篇
2018/01/11 Javascript
Webpack中SplitChunksPlugin 配置参数详解
2020/03/24 Javascript
Vue 401配合Vuex防止多次弹框的案例
2020/11/11 Javascript
[02:43]DOTA2亚洲邀请赛场馆攻略——带你走进东方体育中心
2018/03/19 DOTA
python 打印对象的所有属性值的方法
2016/09/11 Python
python数据类型_字符串常用操作(详解)
2017/05/30 Python
python实现一个简单的并查集的示例代码
2018/03/19 Python
Python基于whois模块简单识别网站域名及所有者的方法
2018/04/23 Python
python实现发送form-data数据的方法详解
2019/09/27 Python
python是怎么被发明的
2020/06/15 Python
使用python实现下载我们想听的歌曲,速度超快
2020/07/09 Python
解决HTML5手机端页面缩放的问题
2017/10/27 HTML / CSS
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
户外亲子活动策划方案
2014/02/07 职场文书
旅游管理毕业生自荐信范文
2014/03/19 职场文书
2014年党建工作汇报材料
2014/10/27 职场文书
督导岗位职责
2015/02/04 职场文书
2015年社区流动人口工作总结
2015/05/12 职场文书
培训讲师开场白
2015/06/01 职场文书
Nginx实现会话保持的两种方式
2022/03/18 Servers
Android Flutter实现图片滑动切换效果
2022/04/07 Java/Android