如何禁用低带宽连接的jquery包含

Tho*_*nne 1 javascript jquery bandwidth

我有一个简单的网站,它有点使用jquery但它不是必需的所以我想跳过jquery下载,如果用户连接速度慢.

理想情况下,我会检测到连接速度慢,但我认为检测到手机可能是合理的代理.

如果这是可能的,那么我将删除使用jquery的页面部分,并在加载jquery时动态添加它们.

我考虑的选项是:

  • 通过下载小图像来测试连接速度
  • 下载jquery但在一秒左右后超时(我搜索了取消下载但没有找到任何内容)
  • 将jquery全部放在一起,然后编写我需要的javascript(虽然我可能会对某些浏览器出错)
  • 在一些javascript中包装jquery下载,检查andriod或iphone的useragent
  • 尝试使用css媒体选择器来控制jquery下载

但我不确定该说服哪个.

此外,我不能使用服务器端技巧,因为它是一个静态页面(以避免appengine冷启动问题).

Pek*_*ica 6

我倾向于忘记它.

任何严重的速度测试都需要传输比jQuery库重量更多的数据.

您可以为用户提供选择(例如"打开低带宽网站")并将该选择存储在cookie中.然后你可以检查cookie的值,并在服务器端嵌入或不嵌入jQuery,或者使用JavaScript,如@ banjomonster对这个问题的回答所示.

除此之外,我会继续并包括它.如果您将其包含在Google的CDN中,则无论如何都可能已经在用户的浏览器中,并且不必再次加载.