因此,對於那些在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