我应该如何编写有或没有JavaScript支持的浏览器的jQuery移动应用程序?
题
我试图将我的头缠绕在JQuery Mobile周围。我的目的是构建一个非常快速的应用程序,外观和感觉与本机应用程序(至少对于现代设备)。
我了解页面之间有两种方法:
将每个页面加载为单独的页面,并链接到带有常规HTML锚的其他页面。
将所有(或多个)页面放在一个单个网页上,然后通过JavaScript($ .Mobile.ChangePage(方法)和类似的API函数进行导航。
第一种方法应在所有浏览器上使用,但是由于每个页面过渡之间都有延迟,因此性能差。
第二个看起来应该快得多,所以我绝对更喜欢这种方法。但是,对于没有JavaScript支持的移动设备浏览器,这将如何工作?当然,这似乎违反了JQuery Mobile的目标,即为C级浏览器提供优雅降级的体验。
在我看来,我需要两次实现我的应用程序,一旦对具有JavaScript支持的浏览器进行了优化,一次没有浏览器?使用可能是另一个选择,但看起来更加混乱。
解决这一难题的推荐方法是什么?我没有注意到吗?
谢谢,
阿德里安
解决方案
首先:您的Point2是错误的。
看 本地内部链接的“页面” 并仔细阅读。一条链接 href="#pageelementid"
将正常工作,并且在任何有能力的HTML4浏览器中都可以工作[可能需要 <a name="pageelementid">
在某些情况下,我不确定]唯一的区别是所有页面都可以立即看到。
第二件事是,如果您使用数字1的方式,它看起来也很不错。它会加载,是的,但是在启用JavaScript的浏览器中,它装有Ajax,并且页面之间没有讨厌的眨眼。另外 - 显示“加载”弹出窗口。
jQuery Mobile应该让您使用一些纯粹和简单的HTML创建一个没有任何JS的应用程序。 JQM本身会增强页面,使其看起来不错并使用Ajax。尝试创建一个可以在每个浏览器中使用的应用程序(我的灵感:lynx),并为此使用JQM标记。您愿意编写的任何JavaScript都可以作为增强作用 - 使其变得更好而不是使其工作。
祝你好运!
其他提示
当前关于支持较小浏览器的思考是不要优雅地降解,而是增强。如果您从头开始构建网站,而无需JavaScript,然后将其改进,那么您几乎知道该网站将工作(而不是必须 使固定 它或建立辅助站点)。
关于您指定的两个选项,如果我的带宽有限,并且很多人每月的下载量有限,那么第一名是我作为移动用户的偏爱。
将所有页面集成到一个大文件中似乎是个好主意(已经下载),但是您很可能会遇到某些手机的内存限制。而且,如果他们要做的就是访问两页,为什么要下载整个网站来做呢?