问题标签 [progressive-enhancement]

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 投票
3 回答
922 浏览

testing - 在测试场景期间阻止外部 Web 服务以模拟“关闭”的策略?

我正在努力在我的应用程序客户端集成来自外部 Web 服务的数据。有人要求我在服务不可用或关闭时测试条件。在我们运行测试以查看服务如何降级时,任何人都对如何暂时阻止此站点有任何提示?

对于那些好奇的人,我们正在测试虚拟地球,但谷歌地图但这将适用于任何同样复杂的外部服务。

欢迎任何想法和建议

0 投票
3 回答
369 浏览

php - php & jquery:渐进式增强

我有几个具有用于提交数据的表单的 php 页面。我的典型设置是将页面发布到自身,以便我可以验证输入,并在必要时使用用户提交的数据重新加载页面(以及标记以显示错误所在)。如果一切正常,我会重定向到感谢页面。

我想开始使用 ajax (jquery) 提交表单,但是让原始的 php 提交以防万一客户端不使用 javascript。我对 jquery 还是很陌生,并且找到了几个使用 jquery 提交的示例,但没有使用我上面描述的设置。如果可能的话,有人可以举一个简短的例子或指向一个页面。谢谢

0 投票
2 回答
50 浏览

localization - 是否有网站提供所有替代浏览器的本地化概览

我会向 IE6 访问者展示一个具有有限 css(渐进增强)的网站,但也希望他们轻轻地显示一个标题,告知他们可以/应该升级到现代浏览器。有一些倡议,例如 ie6nomore,他们就是这样做的。但是现代浏览器列表和标题文本是硬编码的。
我的网站是本地化的,所以我宁愿有一个外部网站的链接,它会自动检测他们的浏览器语言,并以他们自己的语言通知他们现代浏览器。
这样,我的“建议”将始终保持最新并完全本地化。

0 投票
4 回答
976 浏览

progressive-enhancement - 使用 box-shadow 进行渐进式增强

我想使用 WebKit 的 box-shadow css 属性来做一些下拉菜单。代码如下所示:

但是,对于没有此功能的浏览器,我想使用边框来近似此投影,如下所示:

问题是,我不希望在支持 box-shadow 的浏览器中显示基于边框的阴影。我想避免浏览器嗅探,因为我认为很难涵盖所有情况。最简单的方法是什么?我更喜欢无 javascript 的解决方案,但我也会考虑简单的基于 javascript 的解决方案。

0 投票
9 回答
1134 浏览

javascript - 如果您的网站访问者禁用了 JavaScript,您会怎么做?

如果您的网站访问者禁用了 JavaScript,您会怎么做?你阻止他们吗?

0 投票
1 回答
1919 浏览

html - 具有 10,000 个可能值的下拉菜单和序列重要的下拉菜单与优雅降级

背景

我有这个表单,它专门使用 javascript 来搜索 ~5k 条目(供应商)并从中填充一个选择下拉列表(工厂,~10k 条目)。现在,它是一个需要 javascript 的表单。我想让 javascript 错误不再使表单无法使用,但是条目的数量和条目的顺序性质让我没有一种惯用的方式来提供一个基本的 html 版本。

问题


顺序/分层下拉列表

顺序很重要的示例下拉列表: http ://www.javascriptkit.com/javatutors/selectcontent2.shtml

这样就显示了顺序/分层下拉内容的“过滤”,其中第二个城市下拉列表中的选择根据第一个国家下拉列表中的选择进行过滤。但是拿走 javascript,它可能会立即变得一团糟。美国马德里?法国柏林?序列已损坏。

具有大量选项的下拉菜单

如果您有一个包含 10k 个可能选项的选择下拉列表,那么使用 javascript 过滤/搜索它们非常容易。另一方面,在没有 javacript 的情况下处理这些选项要困难得多。

当只加载所有选项时,您如何为您的用户提供所有可能性,他们都会炸毁他们的浏览器?


可能的解决方案

顺序/分层选择框:

  • 服务器端 2 部分表单。
  • ?选择选项组?
  • ???

选择有大量选项:

  • 服务器端两部分搜索表单。
  • 条目名称的服务器端文本搜索匹配。
  • ???

欢迎简单链接到足智多谋的解决方案。

0 投票
2 回答
1410 浏览

javascript - 如何构建优雅降级的 HTML5 Range?

我想将<input type='range' />HTML5 用于支持它的浏览器并降级为<select />如果不支持它。我正在使用 Ruby-on-Rails,所以其他一切都失败了,我可以在服务器端做这样的事情。

不过,我更希望有一些更符合通过 Javascript 完成的渐进增强的想法。如果是 JQuery,则加分。

0 投票
2 回答
336 浏览

javascript - 绕过 Javascript 表单处理程序

我们正在编写一个 ASP.NET MVC 应用程序。默认情况下,如果客户端浏览器具有 Javascript,则页面上每个表单的处理程序由 Javascript 设置为将提交发送到 Ajax“管道”(渐进增强)的处理程序。

但是,对于一个表单(在几个页面上),我希望这个处理程序被绕过/忽略。有没有一种简单的方法可以做到这一点?也许通过直接在 DOM 中指定我自己的 onsubmit 事件或其他方法来覆盖处理程序?

我们使用 jQuery,所以我可以使用这些库。

0 投票
7 回答
20837 浏览

javascript - 渐进增强和优雅降级有什么区别?

我对渐进增强优雅降级之间的区别感到困惑。在我看来,它们似乎是一回事。

您能否向我解释两者之间的区别以及在哪种情况下我会使用其中一种?

0 投票
8 回答
79464 浏览

javascript - 检测 HTML5 的最佳方法不支持

处理浏览器不支持 HTML5<canvas>标签的情况的标准方法是嵌入一些后备内容,例如:

但是页面的其余部分保持不变,这可能是不恰当的或具有误导性的。我想要一些检测画布不支持的方法,以便我可以相应地展示我的页面的其余部分。你会推荐什么?