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跨域和ajax 跨域问题的实现思路
Sep 05 Javascript
JS延迟加载(setTimeout) JS最后加载
Jul 15 Javascript
Vue.js组件tree实现无限级树形菜单
Dec 02 Javascript
JS实现一个简单的日历
Feb 22 Javascript
面试常见的js算法题
Mar 23 Javascript
jQuery加密密码到cookie的实现代码
Apr 18 jQuery
一步步教你利用Docker设置Node.js
Nov 20 Javascript
利用vue重构有赞商城的思路以及总结整理
Feb 21 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
js获取浏览器地址(获取第1个斜杠后的内容)
Sep 03 Javascript
Vue组件通信中非父子组件传值知识点总结
Dec 05 Javascript
在vue项目中封装echarts的步骤
Dec 25 Vue.js
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
dedecms防止FCK乱格式化你的代码的修改方法
2007/03/17 PHP
PHP常用特殊运算符号和函数总结(php新手入门必看)
2013/02/02 PHP
PHP获取网页标题的3种实现方法代码实例
2014/04/11 PHP
解决phpcms更换javascript的幻灯片代码调用图片问题
2014/12/26 PHP
win平台安装配置Nginx+php+mysql 环境
2016/01/12 PHP
jquery keypress,keyup,onpropertychange键盘事件
2010/06/25 Javascript
JavaScript中的this实例分析
2011/04/28 Javascript
基于jquery的文章中所有图片width大小批量设置方法
2013/08/01 Javascript
在服务端(Page.Write)调用自定义的JS方法详解
2013/08/09 Javascript
5款JavaScript代码压缩工具推荐
2014/07/07 Javascript
Bootstrap插件全集
2016/07/18 Javascript
js 自带的 map() 方法全面了解
2016/08/16 Javascript
解决OneThink中无法异步提交kindeditor文本框中修改后的内容方法
2017/05/05 Javascript
layui table表格数据的新增,修改,删除,查询,双击获取行数据方式
2019/11/14 Javascript
解决 window.onload 被覆盖的问题方法
2020/01/14 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[02:38]DOTA2亚洲邀请赛 IG战队巡礼
2015/02/03 DOTA
[02:02]特效爆炸!DOTA2珍宝之瓶待你开启
2018/08/21 DOTA
在SAE上部署Python的Django框架的一些问题汇总
2015/05/30 Python
使用Python操作MySQL的一些基本方法
2015/08/16 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
python 实现查找文件并输出满足某一条件的数据项方法
2019/06/12 Python
Python解析命令行读取参数之argparse模块
2019/07/26 Python
python通过txt文件批量安装依赖包的实现步骤
2019/08/13 Python
弄懂这56个Python使用技巧(轻松掌握Python高效开发)
2019/09/18 Python
jupyter实现重新加载模块
2020/04/16 Python
Python如何爬取51cto数据并存入MySQL
2020/08/25 Python
Lululemon加拿大官网:加拿大知名体育服装零售商
2019/04/12 全球购物
高中考试作弊检讨书
2014/01/14 职场文书
十八届三中全会感言
2014/03/10 职场文书
小学雷锋月活动总结
2014/07/03 职场文书
民间借贷纠纷案件代理词
2015/05/26 职场文书
复兴之路展览观后感
2015/06/02 职场文书
一篇合格的广告文案,其主要目的是什么?
2019/07/12 职场文书
Python绘制分类图的方法
2021/04/20 Python
粗暴解决CUDA out of memory的问题
2021/05/22 Python