响应Javascript文件?

响应Javascript文件?,javascript,jquery-mobile,responsive-design,Javascript,Jquery Mobile,Responsive Design,我已经使用jquerymobileui构建了我的移动站点,但是我现在意识到我需要一些不同于我的桌面站点的功能(桌面站点上的日期选择器日期应该更长,等等) 我已经研究了Modernizer和matchMedia,以帮助我加载单独的js文件,但我找不出一个好方法让它能够响应地工作。Modernizer只在初始加载时起作用(除非我在文档中遗漏了一些内容),而且matchMedia在跨越最小/最大宽度阈值时执行多次时遇到问题。它有时可以工作,但麻烦在于添加/删除单独的js文件。除此之外(但这不是一个大问

我已经使用jquerymobileui构建了我的移动站点,但是我现在意识到我需要一些不同于我的桌面站点的功能(桌面站点上的日期选择器日期应该更长,等等)

我已经研究了Modernizer和matchMedia,以帮助我加载单独的js文件,但我找不出一个好方法让它能够响应地工作。Modernizer只在初始加载时起作用(除非我在文档中遗漏了一些内容),而且matchMedia在跨越最小/最大宽度阈值时执行多次时遇到问题。它有时可以工作,但麻烦在于添加/删除单独的js文件。除此之外(但这不是一个大问题——我不认为),当从另一个脚本将脚本加载到DOM中时,Chrome会触发一个错误

最好的办法是编写一个js文件,然后在正文的宽度中添加一个侦听器,例如
$.mobile.media(“屏幕和(最小宽度:XXXpx)”)
,更改我需要的值

我可能让这对我自己来说太难了,或者遗漏了一些明显的东西,因为我试图使HTTP请求和站点大小尽可能小,但我找不到一个好的解决方案

谢谢大家!


Lightning Round奖励问题:切换到桌面站点后保留所有jQuery移动样式(
数据角色
数据id
数据主题
)是否是一种良好的做法/恰当的做法?看起来糟透了。。对于只在大屏幕上查看的人来说,这太糟糕了。

我认为,最好的方法是在javascript中引入几个标志,如“isMobile”、“isTablet”或“isDesktop”,这些标志将在附加到webapp的“pageinit”事件的方法中设置。稍后,您可以检查这些标志,以便在代码的特定部分使用正确的版本进行相应的操作

检查标志的方式取决于您的体系结构。在我现在正在工作的项目中,我从页面主体上后端附加的类中提取这些信息,但这是因为我们有这些信息。您可以尝试使用类似库的方法来观察将触发的媒体查询,并相应地设置标志。我不认为你的选择到此为止,但恐怕我帮不了你更多