[英]How can I target jQuery mobile capable phones?
我使用jQuery Mobile框架制作了一個網絡應用程序,我想為其提供一個針對低規格手機的備用應用程序。
我的問題是...定位支持JQM的電話的最佳方法是什么? 我在jquery論壇上看到了類似的問題。 建議的答案之一是http://detectmobilebrowser.com/ ,它提供了很多手機。
這是最好的方法,還是我應該測試瀏覽器功能,而不是實際針對手機。 如果是后者,哪些特征被視為“ A級”特征?
干杯
漸進式增強是您的目標,jQuery允許您使用單個代碼庫,並且可以在各種設備上使用。
考慮一下:
指向其他頁面的所有鏈接都是常規的html鏈接,在沒有AJAX支持的情況下,鏈接仍然可以使用,因為它們只會將您發送到所需頁面的位置
所有主要框架元素都圍繞列表,鏈接和一些div構建。 無需HTML5即可呈現內容
最低限度,所有電話都可以顯示大量樣式,無論功能多么強大,您都可以顯示內容
如果沒有完全支持jQuery mobile,您是否有自定義界面根本無法使用?
我同意,降級是最好的解決方案。 我要補充一點,使用noscript
標記也是一種不錯的方法,可以通過為不支持JS的手機通過HTML添加添加功能來提供優美的降級效果。
我認為很難找到定義手機是否可以與JQM一起使用的瀏覽器功能(甚至是一組功能)。 以我自己的經驗,我曾使用WURFL(一個開放源代碼設備檢測庫)來提供功能信息。 但是,我用它來定位特定設備以包括特定於設備的CSS,並刪除了我不支持它的其他設備的所有JS(以消除正在下載的JS的開銷)。
WURFL: http ://wurfl.sourceforge.net/
JQM宣傳它提供了正常降級:
優雅降級:jQuery Mobile使用最好的HTML 5和CSS 3功能,以在功能最強大的瀏覽器中提供最佳體驗。 但是,我們不認為這是一個全有或全無的主張:性能不佳的瀏覽器仍將獲得其平台可以處理的最佳體驗。 它們可能沒有最佳平台的所有漸變或花哨過渡,但它們仍將非常有用。 最基本的瀏覽器將很容易降級為簡化的HTML和CSS。
我還測試了單個移動頁面中的多個JQM頁面,這些頁面在JQM中運行很好(非常快),但遇到了上述相同的問題(當在智能手機的瀏覽器中關閉javascript時,所有頁面都會顯示)。 要變通解決此問題,每個JQM頁僅使用一個頁面(盡管您放棄了速度和統一的頁面轉換)。 關於NOSCRIPT標簽選項, 並非所有瀏覽器都普遍認可該標簽。 要變通解決此問題,您可以嘗試執行以下操作:
<div id="no-js">
<!-- Place HTML without javascript here -->
</div>
<div id="js">
<script language="javascript">
// place javascript here which would be ignored by browsers not support javascript or with
// javascript turned off
document.getElementById("no-js").style.display = "none"; // be sure to hide the non javascript
// div
</script>
</div>
以上邏輯既可以在NOSCRIPT標記類型的瀏覽器中使用,也可以在不識別NOSCRIPT的瀏覽器中使用。
dlausch
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.