小喵自己有設計一個用來蒐集超連結,類似我的最愛的程式,一直以來都是用IE來瀏覽,也沒看到什麼問題,不過最近開始在測試不同的瀏覽器,而目前眾多瀏覽器各家爭鳴的時候,有些瀏覽器就是比較特別,需要特別的處理才能夠正常運作。其中Menu控制項就是一個特別的例子,在Chrome與Safari這兩個瀏覽器不太正常。
緣起
小喵自己有設計一個用來蒐集超連結,類似我的最愛的程式,一直以來都是用IE來瀏覽,也沒看到什麼問題,不過最近開始在測試不同的瀏覽器,而目前眾多瀏覽器各家爭鳴的時候,有些瀏覽器就是比較特別,需要特別的處理才能夠正常運作。其中Menu控制項就是一個特別的例子,在Chrome與Safari這兩個瀏覽器不太正常。
解決方式:App_Browsers
要解決這個問題其實蠻簡單的,首先要在自己的專案中建立一個【App_Browsers】的資料夾(可以透過VS裡面新增ASP.NET資料夾來做),裡面建立一個檔案,命名為【Chrome.browser】,而它的內容是一個XML的格式,內容如下:
<browsers>
<browser refID="safari1plus">
<controlAdapters>
<adapter controlType="System.Web.UI.WebControls.Menu" adapterType="" />
</controlAdapters>
</browser>
</browsers>
這樣就可以在Chrome與Safari看到Menu控制項正常的運作了。
App_Borwsers
這讓小喵好奇App_Browser這個資料夾到底是做啥用的。小喵引用MSDN的解釋:包含瀏覽器定義 (.browser 檔),ASP.NET 會使用這些檔案來辨識個別瀏覽器並判斷它們的功能。因此當有某些功能要依照不同的瀏覽器做特別的處理時,可以透過這個特別的資料夾,裡面定義好.browser檔,來達到我們想要的需求,保哥有個例子是:要讓純文字的瀏覽器可以瀏覽UTF-8格式的ASP.NET網頁(如何讓 Lynx 純文字瀏覽器讀取 UTF-8 的 ASP.NET 網頁),以利一些身障朋友可以無障礙的使用。
進一步的訊息,小喵留下MSDN的說明連結做個筆記,未來有需要的時候再來翻翻:
HOW TO:在 ASP.NET Web 網頁中偵測瀏覽器類型
以下是簽名:
- 歡迎轉貼本站的文章,不過請在貼文主旨上加上【轉貼】,並在文章中附上本篇的超連結與站名【topcat姍舞之間的極度凝聚】,感恩大家的配合。
- 小喵大部分的文章會以小喵熟悉的語言VB.NET撰寫,如果您需要C#的Code,也許您可以試著用線上的工具進行轉換,這裡提供幾個參考
Microsoft MVP Visual Studio and Development Technologies (2005~2019/6) | topcat Blog:http://www.dotblogs.com.tw/topcat |