说明:
阻止同一浏览器打开多个项目标签页,防止多标签页重复时间统计累加,适用于基于微信公众号页面或指定浏览器的计时统计等项目活动,计时在线学习时间统计等。
效果:
main.js
import {createApp} from 'vue'
import App from './App.vue'
import router from './router'
import store from './store'
const app = createApp(App).use(router).use(store);//其他代码//检测打开
if ((navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i))) {//alert("手机端") // 手机端app.mount('#app')
} else {//alert("PC端") //PC端// 检查是否已有实例打开if (localStorage.getItem('milliaPageOpened') !== null) {alert('已有一个实例在运行!')window.close()} else {// 没有实例在运行,设置标记,并继续初始化应用localStorage.setItem('milliaPageOpened', 'true')// 监听页面关闭事件,以便在关闭时清除标记window.addEventListener('beforeunload', () => {localStorage.removeItem('milliaPageOpened')})app.mount('#app')}
}//app.mount('#app')//其他代码