當前位置:首頁 » 安卓系統 » useragentandroid

useragentandroid

發布時間: 2023-10-07 05:32:05

❶ js判斷客戶端是iOS還是Android等移動終端的方法

javaScript是前端開發的主要語言,可以通過編寫JavaScript程序來判斷瀏覽器的類型及版本。JavaScript判斷瀏覽器類型一般有兩種辦法,一種是根據各種瀏覽器獨有的屬性來分辨,另一種是通過分析瀏覽器的userAgent屬性來判斷的。在許多情況下,值判斷出瀏覽器類型之後,還需判斷瀏覽器版本才能處理兼容性問題,而判斷瀏覽器的版本一般只能通過分析瀏覽器的userAgent才能知道。

對於瀏覽器判斷:
1.如何判斷是否為移動終端 利用正則match,
匹配navigator.userAgent是否含有字元串AppleWebKit*****Mobile
安卓qq瀏覽器HD版 只有AppleWebKit
2語言版本的判斷
使用navigator.browserLanguage 便可得出windows phone語言版本,
當然可惡的小小手機語言版本也有兼容性的差異,兼容Mozilla,以及AppleWebKit內核的瀏覽器訪問其語言版本,它會列出 navigator.language。

3.用JS代碼
<script type="text/javascript">
var browser={
versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
return { //移動終端瀏覽器版本信息
trident: u.indexOf('Trident') > -1, //IE內核
presto: u.indexOf('Presto') > -1, //opera內核
webKit: u.indexOf('AppleWebKit') > -1, //蘋果、谷歌內核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1, //火狐內核
mobile: !!u.match(/AppleWebKit.*Mobile.*/), //是否為移動終端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/), //ios終端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android終端或uc瀏覽器
iPhone: u.indexOf('iPhone') > -1 , //是否為iPhone或者QQHD瀏覽器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web應該程序,沒有頭部與底部
};
}(),
language:(navigator.browserLanguage || navigator.language).toLowerCase()
}

4.查看結果
document.writeln("語言版本: "+browser.language);
document.writeln(" 是否為移動終端: "+browser.versions.mobile);
document.writeln(" ios終端: "+browser.versions.ios);
document.writeln(" android終端: "+browser.versions.android);
document.writeln(" 是否為iPhone: "+browser.versions.iPhone);
document.writeln(" 是否iPad: "+browser.versions.iPad);
document.writeln(navigator.userAgent);

❷ 如何修改Android自帶瀏覽器的User Agent

最近在研究Android自帶的Chrome Lite瀏覽器,想修改下它的UserAgent,跟蹤了下Android2.2的源代碼,發現主要要修改如下幾個地方:
1.platform/packages/apps/Browser/src/com/android/browser/BrowserSettings.java
2.platform/packages/apps/Browser/res/values/strings.xml
在strings.xml中找到這一段:

view plain to clipboardprint?
<!-- Do not tranlsate. Development option -->
<string-array name="pref_development_ua_choices" translatable="false">
<item>Android</item>
<item>Desktop</item>
<item>iPhone</item>
</string-array>
<!-- Do not tranlsate. Development option -->
<string-array name="pref_development_ua_values" translatable="false">
<item>0</item>
<item>1</item>
<item>2</item>
</string-array>

這一段中pref_development_ua_choices對應的是Browser的debug模式下選擇UserAgent時選項的名字,pref_development_ua_values對應的是不同的UserAgent,一會我會講到這些數字分別對應的是什麼UserAgent。
在BrowserSettings.java中找到這兩段:

view plain to clipboardprint?
private static final String DESKTOP_USERAGENT = "Mozilla/5.0 (Macintosh; " +
"U; Intel Mac OS X 10_5_7; en-us) AppleWebKit/530.17 (KHTML, " +
"like Gecko) Version/4.0 Safari/530.17";
private static final String IPHONE_USERAGENT = "Mozilla/5.0 (iPhone; U; " +
"CPU iPhone OS 3_0 like Mac OS X; en-us) AppleWebKit/528.18 " +
"(KHTML, like Gecko) Version/4.0 Mobile/7A341 Safari/528.16";


view plain to clipboardprint?
public void update(Observable o, Object arg) {
BrowserSettings b = (BrowserSettings)o;
WebSettings s = mSettings;
s.setLayoutAlgorithm(b.layoutAlgorithm);
if (b.userAgent == 0) {
// use the default ua string
s.setUserAgentString(null);
} else if (b.userAgent == 1) {
s.setUserAgentString(DESKTOP_USERAGENT);
} else if (b.userAgent == 2) {
s.setUserAgentString(IPHONE_USERAGENT);
}

由此我們可以看出第一段Java代碼是不同的UserAgent字元串,從第二段代碼中我們可以看出strings.xml中那個整數的數組和不同UserAgent的對應關系,0對應默認的UserAgent,即Android Chrome Lite自己的UserAgent,1對應的是Mac OS的UserAgent,2對應的是IPhone OS的UserAgent。
有了上述信息,添加一個自己的UserAgent就不是什麼難事了,首先在strings.xml中添加一個UserAgent選項的名字,然後添加一個序號,然後在BrowserSettings.java中添加一個自己的UserAgent字元串,然後在最後一個if後面寫一個

view plain to clipboardprint?
else if (b.userAgent == 3) {
s.setUserAgentString(YOUR_OWN_USERAGENT);
}

然後就大功告成了!

❸ 如何修改Android自帶瀏覽器的User Agent

樓上說的都不對,想讓網站在PC、iPhone、iPad、Android設備上打開同一域名然後顯示不同,原理上是通過網頁程序首先識別設備,然後再根據不同設備,跳轉到不同的二級域名或鏈接。其中,跳轉二級域名這種方式是最常見的。 我以Php和Javascript代碼,簡單給出檢測設備的代碼,具體實現的代碼恕不奉上: Php檢測iPhone、iPad、Android設備: $iPhone = strstr($_SERVER['HTTP_USER_AGENT'],'iPhone'); $iPod = strstr($_SERVER['HTTP_USER_AGENT'],'iPod'); $Android = stripos($_SERVER['HTTP_USER_AGENT'],'Android') !== false; Javascript檢測iPhone、iPad、Android設備: var iPhone = (navigator.userAgent.match(/iPhone/i)); var iPod = navigator.userAgent.match(/iPod/i); var Android = navigator.userAgent.match(/Android/i); 有了這些設備檢測代碼,就可以實現判斷和域名跳轉了。 另外,現在有些在不同客戶端查看網站的工具,我不好發鏈接,自己輸入關鍵字:Screenfly 可以用來測試不同不同顯示器或者移動設備下網站顯示狀況的工具,並且支持最流行的平板電腦或者移動設備。

❹ JS辨別訪問瀏覽器判斷是android還是ios系統

1、通過判斷瀏覽器的userAgent,用正則來判斷是否是ios和Android客戶端。代碼如下:

❺ Android webview 傳參大小

Android webview 傳參大小如下
訂單頁面是webview,但是支付頁面是客戶端做,所以要在去付款的標簽上onclick js傳參。
function OrderPay(order_id,pay_type,pay_account_id) {undefinedif (navigator.userAgent.match(/(iPhone|iPod|iPad);?/i)) {undefinedwindow.location.href = 'aoxintest://OrderId/' + order_id+'/PayType/'+pay_type+'/PayAccountId/'+pay_account_id;} else if (navigator.userAgent.match(/(android);?/i)) {undefinedwindow.androidOrderPay.AndroidOrderPay(order_id,pay_type,pay_account_id);
有點難懂,ios系統判斷傳參的那個還好,但是android的代碼看得一頭霧水。再網上查到了一篇講Android WebView的文章:
就是WebView的Js代碼可以調用到Android代碼中的方法,可以用AddJavascriptInterface方法在JS和Android間綁定一個新的窗口。因此JS代碼中的androidOrderPay應該只是JAVA對象的別名的意思么。

熱點內容
安卓錄制的視頻為什麼有迴音 發布:2025-01-24 19:25:31 瀏覽:445
ip代理伺服器搭建 發布:2025-01-24 19:25:29 瀏覽:285
188腳本 發布:2025-01-24 19:25:19 瀏覽:820
電子商務搭建伺服器的模式 發布:2025-01-24 19:15:13 瀏覽:153
電腦怎麼連接伺服器存儲 發布:2025-01-24 19:13:32 瀏覽:351
qq郵箱傳文件夾怎麼傳 發布:2025-01-24 19:03:22 瀏覽:764
a5手動擋有哪些配置 發布:2025-01-24 19:03:10 瀏覽:415
萌點星球安卓怎麼修改磚石 發布:2025-01-24 19:02:08 瀏覽:393
php遠程連接mysql資料庫 發布:2025-01-24 19:00:37 瀏覽:346
雲計算加密 發布:2025-01-24 18:50:25 瀏覽:176