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 模仿vbs中的 DateAdd() 函数的代码
Aug 13 Javascript
jQuery EasyUI API 中文文档 搜索框
Sep 29 Javascript
jQuery中bind与live的用法及区别小结
Jan 27 Javascript
Javascript获取当前日期的农历日期代码
Oct 08 Javascript
jquery简单实现图片切换效果的方法
May 12 Javascript
seajs加载jquery时提示$ is not a function该怎么解决
Oct 23 Javascript
jquery遍历table的tr获取td的值实现方法
May 19 Javascript
AngularJS  ng-table插件设置排序
Sep 21 Javascript
vue-dialog的弹出层组件
May 25 Javascript
BACKBONE.JS 简单入门范例
Oct 17 Javascript
Vue+Webpack完美整合富文本编辑器TinyMce的方法
Nov 30 Javascript
layui默认选中table的CheckBox复选框方法
Sep 19 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
用ODBC的分页显示
2006/10/09 PHP
PHP间隔一段时间执行代码的方法
2014/12/02 PHP
PHP 验证登陆类分享
2015/03/13 PHP
PHP输入流php://input实例讲解
2015/12/22 PHP
jquery 学习笔记一
2010/04/07 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
jQuery+easyui中的combobox实现下拉框特效
2015/02/27 Javascript
小白谈谈对JS原型链的理解
2016/05/03 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
bootstrap日历插件datetimepicker使用方法
2016/12/14 Javascript
Input文本框随着输入内容多少自动延伸的实现
2017/02/15 Javascript
JavaScript中object和Object的区别(详解)
2017/02/27 Javascript
详解React开发中使用require.ensure()按需加载ES6组件
2017/05/12 Javascript
基于构造函数的五种继承方法小结
2017/07/27 Javascript
React Native第三方平台分享的实例(Android,IOS双平台)
2017/08/04 Javascript
ES6中Set和Map用法实例详解
2020/03/02 Javascript
使用Python的Twisted框架编写简单的网络客户端
2015/04/16 Python
Python3读取zip文件信息的方法
2015/05/22 Python
Python中Selenium模拟JQuery滑动解锁实例
2017/07/26 Python
python中使用print输出中文的方法
2018/07/16 Python
python+splinter实现12306网站刷票并自动购票流程
2018/09/25 Python
python3实现小球转动抽奖小游戏
2020/04/15 Python
PyCharm 配置远程python解释器和在本地修改服务器代码
2019/07/23 Python
python 有效的括号的实现代码示例
2019/11/11 Python
python 错误处理 assert详解
2020/04/20 Python
Python爬虫之Selenium多窗口切换的实现
2020/12/04 Python
python字典按照value排序方法
2020/12/28 Python
巴西本土电商平台:Americanas
2020/06/21 全球购物
在网络中有两台主机A和B,并通过路由器和其他交换设备连接起来,已经确认物理连接正确无误,怎么来测试这两台机器是否连通?如果不通,怎么来判断故障点?怎么排
2014/01/13 面试题
个人简历中自我评价
2014/02/11 职场文书
《伯牙绝弦》教学反思
2014/03/02 职场文书
幼儿教师小班个人总结
2015/02/05 职场文书
2015年事业单位办公室文员工作总结
2015/04/24 职场文书
五年级作文之成长
2019/09/16 职场文书
JavaScript 语句之常用 for 循环详解
2021/03/29 Javascript
使用ICOM IC-R9500接收机同时测评十台收音机中波接收性能
2022/05/10 无线电