data() {
return {
instance: null,
isZoomOpen: false
};
},
  mounted() {
const that = this;
this.isZoom();
window.addEventListener("resize", function() {
that.isZoom();
});
},
  methods: {
// 浏览器缩放提示 (打开控制台会影响准确度)
detectZoom: function() {
let ratio = 0,
screen = window.screen,
ua = navigator.userAgent.toLowerCase();
//
if (~ua.indexOf("firefox")) {
if (window.devicePixelRatio !== undefined) {
ratio = window.devicePixelRatio;
}
} else if (~ua.indexOf("msie")) {
if (screen.deviceXDPI && screen.logicalXDPI) {
ratio = screen.deviceXDPI / screen.logicalXDPI;
}
} else if (
window.outerWidth !== undefined &&
window.innerWidth !== undefined
) {
ratio = window.outerWidth / window.innerWidth;
}
//
if (ratio) {
ratio = Math.round(ratio * 100);
}
// 360安全浏览器下的innerWidth包含了侧边栏的宽度
if (ratio !== 100) {
if (ratio >= 95 && ratio <= 105) {
ratio = 100;
}
}
return ratio;
},
isZoom: function() {
if (this.detectZoom() < 100 || this.detectZoom() > 100) {
this.zoomNotifyOpen();
} else {
this.zoomNotifyClose();
}
},
zoomNotifyOpen: function() {
if (!this.isZoomOpen) {
this.isZoomOpen = true; // 加上标记防止多次提示
this.instance = this.$notify({
title: "提示",
message:
"你的浏览器目前处于缩放状态,页面可能会出现错位现象,建议100%大小显示",
type: "info",
duration: 0
});
}
},
zoomNotifyClose: function() {
if (this.instance !== null) {
// 判断是否为null 防止bug
this.instance.close();
this.isZoomOpen = false;
}
}
}

最新文章

  1. C语言结构体里的成员数组和指针
  2. C语言中的system函数参数及其作用
  3. 前端项目构建工具---Grunt
  4. Node聊天程序实例01
  5. 扩展Exception,增加判断Exception是否为SQL引用约束异常方法!
  6. WinDbg 命令三部曲:(三)WinDbg SOSEX 扩展命令手册
  7. MUI 页面传值 webview
  8. 如何创建ajax对象?
  9. ios 总结
  10. 中国餐馆过程(CRP)
  11. POJ 1251 Jungle Roads
  12. swig include使用方法
  13. Retrofit2.0源码解析
  14. Python的类与类型
  15. vue不是内部或外部命令,配置一个Path系统变量就可以解决
  16. cv2.matchTemplate()函数的应用,匹配图片后画出矩形
  17. BZOJ1758[Wc2010]重建计划——分数规划+长链剖分+线段树+二分答案+树形DP
  18. 30 个 OpenStack 经典面试问题和解答
  19. CSS 颜色
  20. Pycharm(二)创建项目

热门文章

  1. SSH结合EasyUI系统(一)———简单介绍
  2. Vue2.0原理-模板解析
  3. python 网页转pdf
  4. Dede织梦验证码不显示,织梦后台登陆验证码不显示解决方法
  5. ubuntu下Open vSwitch安装
  6. AlexNet论文翻译-ImageNet Classification with Deep Convolutional Neural Networks
  7. Mysql数据库的隔离级别
  8. lsblk命令详解
  9. (第十周)Beta Review会议
  10. Scrum Meeting 10.22