我应该如何为支持和不支持javascript的浏览器编写Jquery移动应用程序?

我应该如何为支持和不支持javascript的浏览器编写Jquery移动应用程序?,javascript,jquery,jquery-mobile,progressive-enhancement,graceful-degradation,Javascript,Jquery,Jquery Mobile,Progressive Enhancement,Graceful Degradation,我正试着用jquerymobile来表达我的想法。我的目标是构建一个非常快速的应用程序,其外观和感觉尽可能接近本机应用程序(至少对于现代设备) 我知道在页面之间导航有两种方式: 将每个页面作为单独的页面加载,并使用常规html锚链接到其他页面 将所有(或多个)页面放在一个网页上,并通过javascript($.mobile.changePage(method))和类似的api函数在它们之间导航 第一种方法应该适用于所有浏览器,但性能相当差,因为每个页面转换之间都有延迟 第二种方法看起来应该快得多

我正试着用jquerymobile来表达我的想法。我的目标是构建一个非常快速的应用程序,其外观和感觉尽可能接近本机应用程序(至少对于现代设备)

我知道在页面之间导航有两种方式:

  • 将每个页面作为单独的页面加载,并使用常规html锚链接到其他页面

  • 将所有(或多个)页面放在一个网页上,并通过javascript($.mobile.changePage(method))和类似的api函数在它们之间导航

  • 第一种方法应该适用于所有浏览器,但性能相当差,因为每个页面转换之间都有延迟

    第二种方法看起来应该快得多,所以我当然更喜欢这种方法。但是,对于没有javascript支持的移动设备浏览器来说,这种方法如何工作呢?这显然违反了jQuery mobile为C级浏览器提供优雅降级体验的目标

    在我看来,我需要实现我的应用程序两次,一次是针对支持javascript的浏览器进行优化,一次是针对不支持?使用?的浏览器,这可能是另一种选择,但这看起来更加混乱

    解决这一困境的推荐方法是什么?有什么我没有注意到的吗

    谢谢


    Adrian

    目前支持较小浏览器的想法不是优雅地降级,而是增强。如果你从头开始构建网站,不使用javascript,然后再对其进行增强,那么你几乎知道该网站可以正常工作(而不必修复它或构建辅助网站)

    关于您指定的两个选项,如果我的带宽有限,而且很多人每月的下载量也有限,那么作为一个移动用户,我会首选第一个选项


    将所有页面集中到一个大文件中似乎是个好主意(已经下载),但在某些手机上可能会遇到内存限制。如果他们只想访问两个页面,为什么要强迫他们下载整个网站呢?

    首先:你的第2点错了

    请仔细阅读。一个链接
    href=“#pageelementid”
    可以很好地工作,并且可以在任何支持HTML4的浏览器中工作[在某些情况下可能需要
    ,我不再确定],唯一的区别是所有页面都可以一次看到

    第二件事是,如果你使用第1种方式,它看起来也很不错。它会加载,是的,但在支持javascript的浏览器中,它是用AJAX加载的,页面之间没有令人讨厌的闪烁。此外,还会出现一个“加载”弹出窗口

    jQuery Mobile应该可以让你创建一个应用程序,使用一些简单的html,而不使用任何JS。JQM本身对页面进行了增强,使其看起来很好,并使用AJAX。尝试创建一个可以在所有浏览器中工作的应用程序(我的灵感:lynx)您愿意编写的任何javascript都应该作为一种增强—使其更好,而不是使其工作


    祝你好运!

    哪些移动浏览器不支持Javascript?我想有很多不支持Javascript的,我有一个三星U900(已退休但仍然拥有它),它只有几年的历史,IIRC不支持javascript。世界上还有很多国家的普通人没有智能手机。请使用javascript支持。@SLaks:实际上有很多。请看这个矩阵:为了了解事实,GBS表中的所有浏览器(还有更多)支持javascript的一个子集,有些人称之为“支持javascript”;)感谢您指出我的错误-现在我更清楚地看到了这应该如何工作。jQuery Mobile甚至比我预期的要好得多:-)我理解您试图表达的观点,但它并不完全适用于我的场景。我在一个SaaS网站上工作,用于时间跟踪,而不是一个常规网站(如天气信息或地图)。它的目的是为人们提供一种非常快速的方式,每天跟踪他们的工作时间。我们的大多数客户一天使用几次。因此,速度至关重要。理想情况下,我们希望为手机实施本机应用程序,但我们(目前)没有资源为客户使用的每个平台都实施本机应用程序。完成JQM应用程序后,您将不需要本机应用程序。谷歌搜索
    phonegap
    @naugtur:我知道phonegap,但我们仍然需要本地应用。即使实施得当,JQM网站在速度和可用性方面也远不能与真正的应用相比。这是一个很好的解决方案,对于那些我们本机无法支持的设备来说。时间跟踪必须精确到秒,而不是毫秒,这就是为什么我认为它足够了。我不推荐它用于射击游戏;)