问题标签 [graceful-degradation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
1907 浏览

php - Memcached - 如何处理添加/部署服务器

您如何处理生产应用程序中的替换/添加/删除 memcached 节点?由于每个客户都需要在同一个网络服务器上运行,我将有许多克隆和定制的应用程序,所以我猜总有一天会更改一些节点。

下面是正常填充 memcached 的方式:

我最初的想法是使 $servers 数组从数据库中填充,也被缓存,但基于文件,每天完成一次或其他东西,并可以选择在下次运行包含 $ 的函数时强制更新addservers 调用。但是,我猜这可能会增加一些额外的开销,因为磁盘的存储速度非常慢......

你怎么看?

0 投票
2 回答
909 浏览

javascript - 如何检查特定的 jQuery UI 函数是否可用,如果不可用则使用不同的函数?

我正在编写一个 jQuery 插件,我希望我的代码能够利用 jQuery UIshow(effect, [options], [speed], [callback])hide(effect, [options], [speed], [callback])函数,它们允许您显示和隐藏带有漂亮动画的元素。

但是,如果 jQuery UI 不可用,我也希望我的插件能够优雅地降级,切换回使用标准 jQuery API 中存在的基本、非动画show()和功能。hide()

我需要专门测试显示和隐藏功能,因为即使 jQuery UI可用,它也可能是自定义版本,不包括效果组件。

起初我以为我可以做类似的事情:

但是这当然行不通,因为即使 UI 不存在,show()它仍然是一个函数,只是有不同的签名——所以在任何一种情况下typeof都会返回object

那么,我检查 jQuery UI 是否可用于我的插件的最佳方法是什么?任何帮助深表感谢!

0 投票
2 回答
217 浏览

php - AJAX 形式 vs PHP-only,我担心优雅降级

我有一个 PHP 驱动的站点,它有一个记录保存表单。用户在第一个下拉菜单中选择一场战斗,然后在第二个下拉菜单中选择获胜方。目前获胜方选项仅Side 1 , Side 2对应于战斗设置中最先列出的选项。提交有一个“你确定吗?” 步骤以确保如果他们选择了错误的一侧,他们有机会纠正这一侧。

我是第一个承认这很烦人的人,并希望根据所选战斗自动填充获胜方下拉列表。我被告知这是基本的 AJAX 东西。

不过,我关心的是如何为禁用 JS 的用户维护功能。这种下拉式自动填充可以在其后面携带原始的 PHP 固定值吗?

抱歉缺少代码。我还没有开始研究 JavaScript 和 AJAX 方法,现在只是考虑在我的网站上的理论应用......

谢谢你。

0 投票
1 回答
79 浏览

ruby-on-rails - 我如何确保在 Rails 中优雅地死亡?

我是 ruby​​ 和 rails 的新手,但似乎比我预期的要掌握它的窍门......

所以我有一些实例方法,在其中调用 ruby​​ gems。当其中一个抛出错误时,我如何让它优雅地传回给客户端?如果可以的话,让它继续运行并显示错误消息,或者死掉并给出一个错误消息。

仍然让我的头缠在事情上。我知道我应该进行测试,这就是我接下来要做的事情……这就是测试的目的吗?我的意思是,我将模拟各种情况并查看代码如何反应,然后尝试让它优雅地这样做......但是,我可以使用一些指导来说明如何。

例如,如果我在一个页面上有 4 个部分,每个部分都是来自远程站点的提要,我会喜欢它。如果一个网站出现故障,我只希望那部分出现故障,其余部分正常运行。

所以,我有点不确定如何做到这一点。或者,这是一个非常 DIY 的东西吗?

0 投票
6 回答
450 浏览

javascript - 渐进增强是否已成为当前问题?

我听到了几件事来捍卫渐进增强。

Javascript 已关闭或不可用。根据W3School 的 Javascript 统计,95% 的人在 2008 年 1 月(2.5 年前)启用了 Javascript。根据这些统计数据,趋势似乎是启用 Javascript 的浏览器正在上升。大量采用 AJAX 可能促使用户更快地启用。从业务角度来看,支持纯文本或可访问性没有多大意义,因为它们可能占不到 1% 的流量。

移动浏览器将无法工作。由于屏幕尺寸有限和移动设备上的浏览体验完全不同,我会以任何一种方式创建网站的移动版本。有人可能会争辩为屏幕阅读器/移动设备使用不同的 CSS,但是无论你让它看起来多么整洁,你都无法在移动设备上收集尽可能多的信息。

最初的说法甚至不适用于新一代移动设备,例如 Android 和 iPhone,它们的每日总激活率总计超过 200,000。此外,大多数 Javascript 吸引眼球的东西(如 jQuery UI)并没有多大意义,因为移动设备上的网站体验是如此不同(没有鼠标悬停等)。我认为移动设备是他们自己的平台,需要定制版本的网站。另一个趋势是创建网站/服务的“本地应用程序”版本。

蜘蛛将无法爬行。这也不是真的。可以将 DOM 用作 Javascript 的数据容器(使用您的实体填充 div/input 标签)。此外,Google 还努力使AJAX 网站可抓取

类似主题:

有趣的链接:

0 投票
2 回答
377 浏览

jquery - 覆盖jQuery中的伪样式

如何用 jQuery 覆盖下面的 CSS?

(动画没有运行,它只是一个瞬时切换。)

0 投票
4 回答
1795 浏览

javascript - 如何在禁用 Javascript 的情况下使我的 UI “优雅降级”?

我已经阅读了关于 SO 的多篇文章,如果用户禁用了 Javascript,理想情况下您的页面应该“优雅地降级”。我不确定一般应该做哪些类型的事情来实现这一点。

我有一个用于配置“时间表”的 HTML。根据选择框的值,显示不同的字段。

When the select is updated, I hide the fields that are shown so that things like 'day of the week' or 'days of the month' aren't shown when it's inappropriate. 我不确定如何在没有 Javascript 的情况下优雅地降级,因为如前所述,某些字段完全不适合各种计划类型。

我的问题是:一般来说,我将如何制作禁用/隐藏不适当字段的东西,或者在没有 Javascript 的情况下,某些前/后处理是否会正确降级?

我也对可以很好地处理这种退化的特定站点感兴趣?

0 投票
1 回答
474 浏览

javascript - 当我切换到优雅降级 Javascript 时出现 Javascript 错误:未找到 zoomImage()

当我切换这个:

对此:

我收到一个错误,即找不到 zoomImage() 函数。

这是一个示例页面:http ://www.avaline.com/102

该功能是在页面末尾附近定义的,但直到页面加载后我才点击链接。

0 投票
1 回答
295 浏览

javascript - 渐进式增强/优雅降级和 Web 应用程序

我正在构建一个使用大量 Javascript 的 Web 应用程序。现在我想知道让应用程序在没有 Javascript 的情况下工作是否有意义?对于普通网站,我可以理解您希望确保每个人都可以使用它,但您可以对复杂的 Web 应用程序说同样的话吗?

我检查了一些大型网络应用程序,似乎有些可以,有些则不能。例如,GMail 有一个无需 Javascript 即可工作的基本版本。

如果您查看 Google Docs,如果没有 Javascript,它根本无法工作。在没有 Javascript 的情况下创建像 GDocs 这样的应用程序很可能是不可能的。

这是一个很好的标准吗:如果不可能回退到非 Javascript 工作应用程序,你不这样做吗?

0 投票
5 回答
340 浏览

javascript - 有时可以不优雅地降级吗?

我正在构建一个视频共享 CMS,它使用大量 jQuery 和 ajax 来处理从丰富的 UI 效果到向数据库提交和检索数据的所有内容。当 JavaScript 被禁用时,一切都崩溃了,90% 的功能都不起作用。

我开始认为对于某些类型的网站(例如使用 Flash 播放器流式传输主要内容(视频)的网站)不优雅降级是可以的。那么,如果网站的主要内容无法查看,那么竭尽全力在其他所有内容上启用双重支持又有什么意义呢?甚至 YouTube 在禁用 JS 的情况下也会中断。

我打算在开源许可下发布 CMS,所以问题是:

对于大规模分发(以及此类站点),优雅地降级不是一个好主意吗?