手机浏览器UA测试(三)

上一篇 / 下一篇  2012-03-01 08:22:29 / 个人分类:浏览器

   1.Android自带浏览器的UAProfile实现
    1) UI设置
    在Android浏览器的地址栏内输入“about:debug”,并进入,这时不会有新的网页显示,但这却使浏
览器进入了debug模式。
    在Menu菜单中选择“More”,在弹出的菜单中选择“Settings”,在弹出的页面上你会发现多了一些
“debug”相关项,最后一项即为“UAString”,点击,弹出当前的已有的配置项
    2)代码实现:
strings.xml: \packages\apps\Browser\res\values\strings.xml
其中有如下一段:
<!-- 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:对应的是UserAgent时选项的名字
pref_development_ua_values:对应的是不同的UserAgent,

BrowserSettings.java:\packages\apps\Browser\src\com\android\browser\BrowserSettings.java
其中有如下代码:
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";

 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。

2. 设置自己的UAProfile
1) 在strings.xml中添加一个UserAgent选项的名字,然后添加一个序号
2) 在BrowserSettings.java中读取自己的UserAgent字符串,然后再加一个if:
else if (b.userAgent == 3) {
    s.setUserAgentString(YOUR_OWN_USERAGENT);


TAG: UA 浏览器 测试

 

评分:0

我来说两句

我的栏目

日历

« 2024-02-21  
    123
45678910
11121314151617
18192021222324
2526272829  

数据统计

  • 访问量: 7450
  • 日志数: 4
  • 建立时间: 2012-02-27
  • 更新时间: 2012-03-02

RSS订阅

Open Toolbar