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 相关文章推荐
js实现回放拖拽轨迹从过程上进行分析
Jun 26 Javascript
javascript函数声明和函数表达式区别分析
Dec 02 Javascript
JS通过Cookie判断页面是否为首次打开
Feb 05 Javascript
JS组件Bootstrap Table使用实例分享
May 30 Javascript
AngularJs ng-repeat 嵌套如何获取外层$index
Sep 21 Javascript
Vue.js中用v-bind绑定class的注意事项
Dec 13 Javascript
vue2.0获取自定义属性的值
Mar 28 Javascript
JS实现简单的天数计算器完整实例
Apr 28 Javascript
javaScript 逻辑运算符使用技巧整理
May 03 Javascript
如何实现双向绑定mvvm的原理实现
May 28 Javascript
vue webpack重写cookie路径的方法
Jul 10 Javascript
LayUI switch 开关监听 获取属性值、更改状态的方法
Sep 21 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
Laravel框架学习笔记(二)项目实战之模型(Models)
2014/10/15 PHP
创建无限极分类树型结构的简单方法
2017/06/20 PHP
javascript脚本编程解决考试分数统计问题
2008/10/18 Javascript
JS对select控件option选项的增删改查示例代码
2013/10/21 Javascript
详解Javascript事件驱动编程
2016/01/03 Javascript
详解javascript new的运行机制
2016/01/26 Javascript
基于Javascript实现返回顶部按钮
2016/02/29 Javascript
JavaScript中输出信息的方法(信息确认框-提示输入框-文档流输出)
2016/06/12 Javascript
Bootstrap 3的box-sizing样式导致UEditor控件的图片无法正常缩放的解决方案
2016/09/15 Javascript
浅谈jQuery中Ajax事件beforesend及各参数含义
2016/12/03 Javascript
Bootstrap进度条与AJAX后端数据传递结合使用实例详解
2017/04/23 Javascript
jQuery.Ajax()的data参数类型详解
2017/07/23 jQuery
ionic2懒加载配置详解
2017/09/01 Javascript
vue toggle做一个点击切换class(实例讲解)
2018/03/13 Javascript
详解如何在webpack中做预渲染降低首屏空白时间
2018/08/22 Javascript
ES6 Generator函数的应用实例分析
2019/06/26 Javascript
微信小程序 冒泡事件原理解析
2019/09/27 Javascript
Vue单页面应用中实现Markdown渲染
2021/02/14 Vue.js
Vue-router编程式导航的两种实现代码
2021/03/04 Vue.js
python通过shutil实现快速文件复制的方法
2015/03/14 Python
Python使用scrapy采集数据过程中放回下载过大页面的方法
2015/04/08 Python
Python和JavaScript间代码转换的4个工具
2016/02/22 Python
详解Python核心编程中的浅拷贝与深拷贝
2018/01/07 Python
python networkx 包绘制复杂网络关系图的实现
2019/07/10 Python
python 实现提取log文件中的关键句子,并进行统计分析
2019/12/24 Python
150行python代码实现贪吃蛇游戏
2020/04/24 Python
Python 使用office365邮箱的示例
2020/10/29 Python
Expedia印度尼西亚站:预订酒店、廉价航班和度假套餐
2018/01/31 全球购物
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
大一学生的职业生涯规划书范文
2014/01/19 职场文书
《最佳路径》教学反思
2014/04/13 职场文书
网络营销策划方案
2014/06/04 职场文书
暖通工程师岗位职责
2014/06/12 职场文书
社区党建工作总结2015
2015/05/13 职场文书
廉政党课工作报告案例
2019/06/21 职场文书
详细了解java监听器和过滤器
2021/07/09 Java/Android