问题标签 [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.
javascript - Javascript 可降解级联下拉列表
我在一个相互依赖的表格中有 2-3 个列表。如果其中一个被更改,则会进行 ajax 调用并加载其他的。我想知道你们中是否有人知道使这个下拉列表 js 可降解的方法。
谢谢
javascript - 依赖于 Javascript/AJAX?
在很多与向服务器发送请求相关的问题的答案中,我看到提倡使用 Javascript/AJAX。
我仍然是一个纯粹主义者,从某种意义上说,我尝试开发完全工作的网站,而不首先使用 Javascript/AJAX,并且只添加它来装饰用户体验。
我假设不少看似毫不费力地提倡使用 Javascript/AJAX 的人也是专业人士,所以我有点好奇,作为专业人士,您对这种“纯粹”方法有何看法?过时了吗?您是否觉得使用当今的技术/浏览器应该只能依赖 Javascript/AJAX?我是否应该开始有点失落并且对这种方法不那么严格?它可能会使某些部分的开发更加容易。:)
还是取决于您的目标受众?
html - 具有 10,000 个可能值的下拉菜单和序列重要的下拉菜单与优雅降级
背景
我有这个表单,它专门使用 javascript 来搜索 ~5k 条目(供应商)并从中填充一个选择下拉列表(工厂,~10k 条目)。现在,它是一个需要 javascript 的表单。我想让 javascript 错误不再使表单无法使用,但是条目的数量和条目的顺序性质让我没有一种惯用的方式来提供一个基本的 html 版本。
问题
顺序/分层下拉列表
顺序很重要的示例下拉列表: http ://www.javascriptkit.com/javatutors/selectcontent2.shtml
这样就显示了顺序/分层下拉内容的“过滤”,其中第二个城市下拉列表中的选择根据第一个国家下拉列表中的选择进行过滤。但是拿走 javascript,它可能会立即变得一团糟。美国马德里?法国柏林?序列已损坏。
具有大量选项的下拉菜单
如果您有一个包含 10k 个可能选项的选择下拉列表,那么使用 javascript 过滤/搜索它们非常容易。另一方面,在没有 javacript 的情况下处理这些选项要困难得多。
当只加载所有选项时,您如何为您的用户提供所有可能性,他们都会炸毁他们的浏览器?
可能的解决方案
顺序/分层选择框:
- 服务器端 2 部分表单。
- ?选择选项组?
- ???
选择有大量选项:
- 服务器端两部分搜索表单。
- 条目名称的服务器端文本搜索匹配。
- ???
欢迎简单链接到足智多谋的解决方案。
javascript - 渐进增强和优雅降级有什么区别?
我对渐进增强和优雅降级之间的区别感到困惑。在我看来,它们似乎是一回事。
您能否向我解释两者之间的区别以及在哪种情况下我会使用其中一种?
android - 在 Android 中检测捏合
我想在我的 Android 应用程序中处理捏事件以放大和缩小。
我相信 Android 2.0 具有多点触控功能,并且听说 Android 1.6 可能支持也可能不支持,具体取决于设备。
检测捏合事件的最佳方法是什么,同时为不支持它的设备优雅地降级?我的目标是 Android 1.5 以上。
html - 如何编写向后兼容的 HTML5?
我想开始使用 HTML5 的基本功能,但同时,让我的代码向后兼容旧版浏览器(优雅降级)。例如,我想使用酷炫的 CSS3 属性来制作圆角。是否有任何可用于编写可优雅降解的 HTML5 的教程?
此外,我应该支持哪些浏览器以便我的应用程序。对至少 95% 的访问者有用吗?有什么方法可以轻松测试这些浏览器?
javascript - 检测 HTML5 的最佳方法
处理浏览器不支持 HTML5<canvas>
标签的情况的标准方法是嵌入一些后备内容,例如:
但是页面的其余部分保持不变,这可能是不恰当的或具有误导性的。我想要一些检测画布不支持的方法,以便我可以相应地展示我的页面的其余部分。你会推荐什么?
javascript - 如何构建优雅降级 AJAX 网页?
我想用“Graceful Degradation”构建网页。也就是说,网页功能甚至禁用了javascript。现在我必须对 AJAX 响应的格式做出设计决定。
如果禁用了 javascript,则对服务器的每个 HTTP 请求都会生成 HTML 作为响应。浏览器使用返回的 HTML 进行刷新。没关系。
如果启用了 javascript,对服务器的每个 AJAX HTTP 请求都将生成……嗯,JSON 或 HTML。
如果是 HTML,则很容易实现。只需使用 javascript 将部分页面替换为返回的 HTML。而且,在服务器端,不需要太多的代码更改。
如果是 JSON,那么我必须再次在 javascript 中实现 JSON-to-html 逻辑,这几乎是服务器端逻辑的重复。复制是邪恶的。我真的不喜欢它。好处是带宽使用比 HTML 更好,带来更好的性能。
那么,优雅退化的最佳解决方案是什么?AJAX 请求返回 JSON 还是 HTML 更好?
http-post - 支持单击链接,但不使用 Ajax 向服务器发送 POST(vs GET)?
我认为这不太可能,但也许我错了。我只是在那些认为只有 POST 请求应该修改服务器上的数据的人和放松规则并允许 GET 请求修改数据的人之间左右为难。
以这种情况为例。假设您有一个表,每一行都是数据库中的一行。我想让他们通过一个花哨的“X”图标删除该行作为该<td></td>
行中的最后一个元素。AFAIK,向服务器发送 POST 的唯一方法是通过表单。但是我真的把整个表单塞进最后一个<td></td>
元素只是为了做一个 POST 吗?还是我应该作弊并使用<a href=...></a>
发送 GET 请求的标签?
您可能在想“两者都做!发送 POST 并使用<a ...></a>
标签!使用精美的 javascript + xhr!” 我会说,哦?在零 JavaScript 环境中,这将如何降级?
也许我们已经到了担心优雅降级没有意义的地步?我不知道。你告诉我?我是 Web 开发的新手,但我了解所涉及的大部分概念。
ruby-on-rails - Rails 3 的“data-method='delete'”如何优雅地降级?
Rails 3 做了一些很酷的事情来使 Javascript 不显眼,所以他们做了这样的事情:
..转换为
但它只是发生在我身上.. 当我关闭 javascript 时,该方法不再是 DELETE,它是 GET 正如预期的那样。那么是否有计划或有什么方法可以让这些data-
属性优雅地降级,以便该链接仍然是一个 DELETE 请求?