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调用XML制作连动下拉列表框
Jun 25 Javascript
jquery插件开发之实现jquery手风琴功能分享
Mar 10 Javascript
node.js中的fs.mkdirSync方法使用说明
Dec 17 Javascript
Winform客户端向web地址传参接收参数的方法
May 17 Javascript
浅析JavaScript Array和string的转换(推荐)
May 20 Javascript
vue-cli的webpack模板项目配置文件分析
Apr 01 Javascript
vue的Virtual Dom实现snabbdom解密
May 03 Javascript
vue的安装及element组件的安装方法
Mar 09 Javascript
ES6常用小技巧总结【去重、交换、合并、反转、迭代、计算等】
Dec 21 Javascript
Vue引入Stylus知识点总结
Jan 16 Javascript
基于js实现判断浏览器类型代码实例
Jul 17 Javascript
从0到1学习JavaScript编写贪吃蛇游戏
Jul 28 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(4) php 函数 补充2
2010/02/15 PHP
Uncaught exception com_exception with message Failed to create COM object
2012/01/11 PHP
php实现简易聊天室应用代码
2015/09/23 PHP
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
thinkPHP框架中执行事务的方法示例
2018/05/31 PHP
PHP Swoole异步MySQL客户端实现方法示例
2019/10/24 PHP
css3实现背景模糊的三种方式
2021/03/09 HTML / CSS
调整小数的格式保留小数点后两位
2014/05/14 Javascript
jQuery学习笔记之toArray()
2014/06/09 Javascript
jquery动态改变div宽度和高度
2015/02/09 Javascript
JavaScript实现DIV层拖动及动态增加新层的方法
2015/05/12 Javascript
javascript新闻跑马灯实例代码
2020/07/29 Javascript
详解AngularJS中的filter过滤器用法
2016/01/04 Javascript
javascript html5摇一摇功能的实现
2016/04/19 Javascript
动态加载js、css的简单实现代码
2016/05/26 Javascript
Javascript中document.referrer隐藏来源的方法
2017/01/16 Javascript
vue实现tab切换外加样式切换方法
2018/03/16 Javascript
Node.js 使用AngularJS的方法示例
2018/05/11 Javascript
vue地址栏直接输入路由无效问题的解决
2018/11/15 Javascript
webpack4.x下babel的安装、配置及使用详解
2019/03/07 Javascript
Vue2.0使用嵌套路由实现页面内容切换/公用一级菜单控制页面内容切换(推荐)
2019/05/08 Javascript
带你使用webpack快速构建web项目的方法
2020/11/12 Javascript
vue项目如何监听localStorage或sessionStorage的变化
2021/01/04 Vue.js
python利用paramiko连接远程服务器执行命令的方法
2017/10/16 Python
[原创]pip和pygal的安装实例教程
2017/12/07 Python
Python实现嵌套列表去重方法示例
2017/12/28 Python
Python 使用folium绘制leaflet地图的实现方法
2019/07/05 Python
详解Django自定义图片和文件上传路径(upload_to)的2种方式
2020/12/01 Python
Chantelle仙黛尔内衣美国官网:法国第一品牌内衣
2018/07/26 全球购物
销售人员职业生涯规划范文
2014/03/01 职场文书
机电专业求职信
2014/06/14 职场文书
离婚协议书怎么写(范本参考)
2014/09/30 职场文书
白酒代理协议书范本
2014/10/26 职场文书
申请吧主发表的感言
2015/08/03 职场文书
一年级语文教学随笔
2015/08/14 职场文书