close

偵側瀏覽器版本的方法很多種,有的人透過 Java Script ,有的人用 Request ,

我遇到的一個情況是同事希望透過 Reuqest.browser.type 得知瀏覽器的版本,

但是 .net 2.0 的網站下 Reuqest.browser.type 無法正確得知 chrome 的資訊…

這是參考國外這篇文章所了解的:

http://weblogs.asp.net/ricardoperes/archive/2009/09/22/detecting-chrome-browser-in-asp-net.aspx

不過光是照上面那樣這樣做還是不夠,還有一些步驟要做:

 

首先在 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\CONFIG\Browsers 之下加入 chrome.browser

內容如下:

<browsers>
    <browser id="Chrome" parentID="Mozilla">

        <identification>               
  <userAgent match="Chrome/(?'version'(?'major'\d+)\.(?'minor'\d+\.\d+)\.\d+)" />   
        </identification>

        <capabilities>
            <capability name="browser" value="Chrome" />

            <capability name="majorversion" value="${major}" />
            <capability name="minorversion" value="${minor}" />
            <capability name="type" value="Chrome" />    
            <capability name="version" value="${version}" />
        </capabilities>

    </browser>
</browsers>

另外還要去修改 mozilla.config 這個檔,找到 GECKO 那一段

<browser id="Gecko" parentID="Mozilla">
        <identification>
            <userAgent nonMatch="Chrome" />          <== 加入這一行,不然會被偵測為 Safari
            <userAgent match="Gecko" />
        </identification>

接著存檔後,在命令模式下進入 C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727

執行 aspnet_regbrowsers.exe -i (每次 browser 檔案有改,記得要重新 bind 一次)

(此工具用途請參考 http://msdn.microsoft.com/zh-tw/library/ms229858(v=VS.80).aspx )

完成! 現在應該可以透過 Request.browser.type 等資訊,輕鬆辨認 chrome 了~

 

第2招,在 web.config 直接修改就好,但效果只有在該網站內有效,這是在.net1.1時代的做法,2.0仍然有支援,

做法:在 <system.web> 之下加入此段代碼 

           <browserCaps>

                <use var="HTTP_USER_AGENT" />

                <filter>

                     <case match="Chrome/(?'version'(?'major'\d+)\.(?'minor'\d+\.\d+).\d+)">

                           browser=Chrome

                           version=${version}

                           majorversion=${major}

                           minorversion=${minor}

                          type=Chrome

                     </case>

                </filter>

           </browserCaps>

完成!

arrow
arrow
    全站熱搜
    創作者介紹
    創作者 brunhild194 的頭像
    brunhild194

    伯倫希爾的網路小天地

    brunhild194 發表在 痞客邦 留言(0) 人氣()