javascript - 设计 JQuery/Ajax 站点向后兼容非 JavaScript 浏览器

标签 javascript jquery html ajax

有没有人知道一个好的地方可以找到有关设计 JQuery 富网站的基本原则和教程,但这些网站仍然可以在不支持 JavaScript 或已禁用 JavaScript 的浏览器中运行?

如果这甚至可能,在实际情况下..

最佳答案

在查看所有这些之前,您应该了解一些事情。

从历史上看,有很多理由可以在没有 JS 的情况下使事情正常进行:

  • 搜索引擎优化。 Googlebot 的运行方式与 Lynx 非常相似
  • 移动设备。几乎没有,如果有的话,会运行 JS
  • 关闭 JS 的偏执用户
  • 公司限制
  • 辅助功能 - 屏幕阅读器等

如果我们看看今天的情况,情况就不同了

  • Googlebot 评估 JS。在我自己的测试中,我发现 Googlebot 可以通过 jQuery 代码发出 ajax 请求,并在结果中包含插入页面的文本。
  • 对于许多用户(即 Android 手机 + IE8 用户)而言,移动设备运行的浏览器比台式机更好
  • Noscript 等允许您将网站列入白名单,尽管几乎没有人使用它
  • 一些公司可能仍然禁止 JS,但同样,它是最小的
  • 可访问性越来越好,在很多方面这不是问题,但用户可能仍在使用不能很好地处理 JS 的旧版本。

这意味着出于可访问性原因,您正在制作一个没有 JS 的网站。这让您可以更加专注于在没有 JS 的情况下创建的体验。

简而言之,您应该确保通过 AJAX 发生的任何事情在没有 AJAX 的情况下也能发生。这通常意味着修改您的服务器端代码,以便它在任何时候生成 JSON,它也可以创建要插入 JSON 的整个页面(即,如果您有一个将文本加载到 div 中的按钮,您应该有一个实际的页面查看)。

另一种方法是针对没有 JS 的用户谨慎提供不同版本的应用。许多旧的移动网站都是这方面的“好”例子。

关于javascript - 设计 JQuery/Ajax 站点向后兼容非 JavaScript 浏览器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11066799/

相关文章:

CSS下拉菜单栏,透明带圆 Angular

jquery - 如何找到 jQuery 中未更改的输入元素?

HTML + CSS 水平有序的表单元素

javascript - 无法读取 null 的属性 'offsetTop'(粘性导航栏)

javascript - 选择上传文件或输入自定义 URL - HTML 表单

javascript - Backbone 与 Rails 中的模型混搭同步

javascript - 尝试将所有 "p"标签更改为以下代码中指定的颜色

javascript - jQuery scrollTop 有问题

Javascript,检索数组名称

javascript - 视频播放,然后 onend() 覆盖带有链接的静态图像