javascript判断当前用户环境是pc端还是手机端
有一个项目因为是用的uniapp开发,因为项目比较早,之前uniapp的电脑端展示不是太友好,所以在电脑端用了一个iframe来包裹网站。
现在这个项目需要二次开发,目的是摄像头转直播功能,项目完成了后面会写一篇文章来分析一下。
在js中判断是pc还是手机很简单,一句话就搞定了
let pc = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? false : true
完整代码
let pc = /Android|webOS|iPhone|iPod|BlackBerry/i.test(navigator.userAgent) ? false : true let url = "" if (process.env.NODE_ENV === 'development') { console.log('开发环境') url = "./h5/#/pages/Live/live?id=" + id } else { url = "./#/pages/Live/live?id=" + id console.log('生产环境') } if (pc) { window.open( url, "井纺课堂云直播", "top=300,left=600,width=800,height=600,location=0,menubar=0,scrollbars=0,status=0,toolbar=0,resizable=1" ) } else { uni.navigateTo({ url: 'live?id=' + id }) }
还有一个地方是window.open()在谷歌浏览器中不能自定义宽高
但是发现在同样是谷歌内核的360等一众浏览器中都可以自定义宽高,只要设置了
width=800,height=600
就是谷歌浏览器不行,想一想,应该是兼容问题了,查找资料发现,在谷歌浏览器中,想要window.open()
必须要把top,left,width,height全部都要设置一遍
