2013-01-04 127 views
0

我需要知道如何做到這一點。jquery mobile手動調用頁面插件

當我不在手機(手持設備)上時,它正在將頁面加載到同一頁面。 因此,我需要一些測試條件,與媒體查詢相同。例如: 例如:測試某些元素是否隱藏,然後調用插件

我不知道這是否會更好地工作,然後頁面重定向,但我將不得不看到?

我怎麼能這樣做?

jquery mobile僅適用於小屏幕使用(手持設備)。媒體查詢的工作正常。 我設置它的方式是它隱藏頁面上的所有內容,並僅顯示移動部分。

@media screen and (max-width: 555px), 
screen and (max-device-width: 480px) 
{ 
#wrap,#footer,#masker{display:none;} 
#p-mobi{ display:block;} 
} 

<div data-role="page" id="p-mobi"> 

</div> 

感謝,理查德

回答

1

很少有可用的選項。

根據您的需求這一塊應該是最好的一個:

  1. https://github.com/borismus/device.js

    這完全是客戶端檢測,無需定製JS腳本只是用這個自定義鏈接標籤和與之相匹配達到所需的設備尺寸。

    例如:

    <link rel="alternate" href="http://foo.com" id="desktop" media="only screen and (touch-enabled: 0)"> 
    <link rel="alternate" href="http://m.foo.com" id="phone" media="only screen and (max-device-width: 640px)"> 
    <link rel="alternate" href="http://tablet.foo.com" id="tablet" media="only screen and (min-device-width: 641px)"> 
    

    更可以在這裏找到:https://github.com/borismus/device.js

  2. 或者使用this腳本來檢測瀏覽器類型,然後使用這個js加載器來決定哪個js文件應該被使用。

    例子:

    yepnope({ 
        test : Modernizr.geolocation, 
        yep : 'normal.js', 
        nope : ['polyfill.js', 'wrapper.js'] 
    }); 
    

    一件事yephope.js不出來與jQuery兼容的盒子,所以你需要做一些fix

我的建議,堅持使用選項1

+0

感謝,我調整我的問題了一點,但要點是一樣的。我會嘗試第一個,第二個似乎不是那麼有用,因爲它只測試瀏覽器功能。 – Richard

+0

您是對的,但使用js檢測設備類型並手動加載其他內容仍然更好。第一個選項將會做到這一點,而無需代碼開銷只有缺點是它不適用於IE7及以下版本,但這不是一個大問題。 – Gajotres

+0

我在github上閱讀它......不明白他爲什麼提到modernizr.mq或者他是從modernizr中借用代碼? – Richard