问题标签 [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 回答
458 浏览

ajax - How important do you think Progressive Enhancement is?

Progressive Enhancement is a web development methodology that not only allows greater portability and accessibility but in my opinion, makes the development process easier.

What I want is to know what the rest of the community think of this approach.

In particular: What do you believe is the minimum set of technologies that a web application should support?

0 投票
1 回答
3123 浏览

ruby-on-rails - 在 RoR 2.x 中使用 respond_to 和 ajax 进行优雅降级

我正在阅读有关使用 ruby​​ on rails 进行 Web 开发的 AWDR 书籍,旧代码的问题之一是它没有使用 respond_to 来确保使用的视图是 javascript 视图。现在在一些更新的示例中,我看到人们稍后提到它们,在实现优雅降级时,使用 request.xhr?判断用户是否启用了 javascript,如果没有,则重定向用户。

我想知道您是否可以使用 respond_to 来获得相同的行为,如果可以,这是否被认为是好的形式,为什么?

所以我想做的是这样的:

它似乎确实违反了 DRY 原则,我可能遗漏了一些关于用户和服务器如何在这里交互的信息。老实说,API 文档并没有让我完全清楚。

0 投票
6 回答
620 浏览

javascript - 关于如何使就地编辑可降解的任何想法?

我目前正在为 MooTools 编写一个就地编辑脚本,但对于如何在没有 JavaScript 的情况下使其优雅地降级同时仍然具有一些功能,我感到有些困惑。我想以某种方式使用渐进增强。我不是在寻找代码,而是更多关于如何处理这种情况的概念。如果您有任何想法或知道任何优雅降级的就地编辑脚本,请分享。

0 投票
3 回答
1925 浏览

javascript - 没有 JavaScript 的 GWT?

我正在研究GWT。看起来不错,但我们的软件必须在没有 JS 要求的情况下工作。是否可以?

0 投票
5 回答
1712 浏览

javascript - 使用 javascript 优雅地退化锚标签

我目前依靠锚标记在我的 Web 应用程序上执行 AJAX 请求(使用 jQuery)。例如:

但是,如果用户在他们的浏览器中禁用了 javascript,这些锚标记几乎就变得毫无用处了。处理这些锚标记的优雅降级的最佳方法是什么?我唯一的选择是将它们全部切换到表单标签内的按钮吗?

编辑:我应该更清楚,并指定我的 AJAX 调用是对一个 URL 的 HTTP POST,出于安全原因,我不能向正常的 HTTP GET 公开(例如,考虑删除 URL“/items/delete/1”)。考虑到这一点,我不能将锚的 href 更改为“/items/delete/1”,以满足关闭 javascript 的用户,因为它会带来安全风险。

0 投票
2 回答
1056 浏览

asp.net - 验证人在

The following .NET 3.5 code, placed in an aspx file, will trigger a JavaScript error when the page is loaded (for users who have JavaScript enabled):

#xA;

The error happens because the JavaScript generated by the ASP.NET validator control does not contain a null check on before the second code line below:

#xA;

Can anyone suggest a workaround to this?


Footnote: Why am I doing this? For my non-JavaScript users I am replacing some AJAX functionality with some different UI components, which need validation.

0 投票
3 回答
255 浏览

graceful-degradation - Web 应用程序域外的优雅降级:问题有多严重?

为冗长的介绍道歉 - 只是试图适当地设置场景以避免歧义和混乱。

Web 应用程序已经从用于服务器端逻辑的基于浏览器的笨接口发展为完全基于浏览器的应用程序,对服务器端逻辑的需求最少。可以通过识别清晰的 Web 应用程序代来描述这种演变。

让我们暂时只考虑两代:前 ajax 和后 ajax。当然还有其他因素,例如与 CSS 支持和访问控制标头相关的因素,但让我们从简单的开始。

从无样式、无 JavaScript 的简单系统开始,添加优雅降级的增强层并使用 ajax 打包、响应迅速的现代应用程序完成是一项具有挑战性且容易出错的任务。这绝非易事。

Web 应用程序可能属于哪一代取决于访问该应用程序的方式。如果通过 Lynx 访问,同样的 Web 应用程序似乎是第一代应用程序,如果通过 FireFox 3.1 访问,则似乎是最新一代应用程序,中间有几个级别,具体取决于用于访问应用程序的用户代理。

创建一个根据用户代理的功能优雅降级的 Web 应用程序的问题,其中为利用当前浏览器功能而创建的东西将恢复到可能在 15 年前在面对 Lynx 时创建的东西的功能,这是非常困难的.

我无法想象一个桌面应用程序会面临这样的操作环境变化。

能够利用 Vista 中的功能的单个可执行文件(相对于一组特定于操作系统的变体)在 XP 下运行和缺少某些 Vista 功能时可能会很好地应对。要在与 Web 应用程序相当的距离内降级,相同的桌面应用程序在 DOS 等纯命令行环境中运行时仍必须运行,尽管方式不那么花哨。

在 Lynx 下运行它,它是第一代 Web 应用程序。在 FireFox 3.1 下运行相同的程序,这是一款精美、闪亮的现代网络应用程序。如果遇到这样的问题,你会认为它具有挑战性、棘手但可行。

在 DOS 下运行它,它是一个命令行应用程序。在 Vista 下运行它,它是一个花哨、闪亮的现代网络应用程序。如果遇到这样的问题,你会认为它很疯狂。或者你会吗?

桌面应用程序是否曾经像 Web 应用程序那样在操作环境中面临如此广泛的变化?

这个问题(方差的广度,而不是方差本身)是 Web 应用程序领域独有的,还是可以在桌面开发中找到?

0 投票
7 回答
661 浏览

silverlight - 降级为 html 的 Silverlight

我有兴趣完全用silverlight(个人原因)创建一个网站,但我不希望还没有silverlight(很多)的人必须安装插件才能查看我的网站。我倾向于的解决方案是从网站的平面 html/css 版本开始,只向已经安装它的人展示 silverlight 版本。

我的问题是这样的:

我的推理是不是被误导了。有没有更好的方法来解决这个问题。避免在网站的两个版本之间重复内容的最佳方法是什么。

0 投票
5 回答
809 浏览

javascript - 如何在 Javascript 不可用时显示内容,在 javascript 可用时隐藏它并且在任何一种情况下都不闪烁?

我有一个用于运输选项的简单表单,当有人从下拉列表中选择新选项时,我正在使用 javascript 自动提交表单。

为了支持没有 javascript 的浏览器,还有一个提交表单的按钮。此按钮使用 javascript 隐藏。

但是,这意味着我的按钮在短时间内可见,并且在重新格式化其余内容时可能会导致闪烁。

任何人都可以建议一种创建按钮的方法,以便它开始隐藏,但只有在 javascript 不可用时才可见?例如,从 display:none 开始;并神奇地更改为 display:block; 当且仅当没有 javascript。

0 投票
6 回答
2043 浏览

php - AJAXify 网站

我有正当理由去做我试图解释的事情。我有一个现有的网站说 abc.com,它有常规页面等。一切都是用 php 编写的。现在我想对站点进行 AJAX 化,即当用户单击链接时,它应该使用 AJAX 获取链接并替换页面内容。这是简单的部分,我可以使用 jQuery get 函数来实现它。

现在,当用户为页面添加书签时,问题就来了。我可以使用哈希标签来指定用户是否在另一个页面上,但不是使用 javascript 再次获取新页面,是否可以在调用页面时直接使用 PHP 获取它。

你能否给我一个关于如何实现上述目标的大纲。此功能类似于 Facebook 的功能。

感谢您的时间。