2013-01-04 65 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