因此,对于那些在iOS网络应用程序工作的人可能知道,由于苹果的政策,Chrome和iOS上的其他移动浏览器使用了非常古老的JavaScript引擎。这就是为什么我们需要停用Chrome的某些渲染功能以及其他适用于iOS的非Safari浏览器。有没有办法在过滤掉iOS浏览器,Firefox和其他浏览器的同时检测iOS Safari?
我一直在阅读this question,那里没有有用的答案。这里是我的一些方法(失败):
使用is_iOS = navigator.userAgent.match(/(iPad|iPhone|iPod)/g)
来检测浏览器是否在iOS上。然后使用:
is_FF = navigator.userAgent.match(/(firefox)/g)
和is_Chrome = navigator.userAgent.match(/(chrome)/g)
杀死那些Firefox和Chrome浏览器。
然后我意识到所有浏览器都与iOS Safari共享相同的用户代理字符串。所以我想这个方法应该运行一个只有Safari才能运行的javascript函数,然后确定浏览器是否是Safari。
可能我建议基于功能而不是'userAgent'进行过滤?例如:'if(window.localStorage).....'。 – 2015-03-24 21:11:17
@blex我意识到所有浏览器与iOS Safari共享相同的用户代理字符串。所以我想这个方法应该运行一个只有Safari才能运行的javascript函数,然后确定浏览器是否是Safari。 – 2015-03-24 21:12:36
@KJPrice请详细解释。这似乎是正确的解决方案。谢谢。 – 2015-03-24 21:13:07