问题标签 [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 投票
2 回答
377 浏览

jquery - 覆盖jQuery中的伪样式

如何用 jQuery 覆盖下面的 CSS?

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

0 投票
5 回答
288 浏览

javascript - Javascript not enabled

I have been developing web applications for a few years now. One of the issues that I face is having to develop web apps where javascript is not enabled or not available. I know this was a issue a few year back but am curious to know what other web designers, developers think about this issue? Is that still an issue?

The reason I am asking this is because it seems to me we are just catering for scenarios that is very unlikely to happen now a days. This is especially with regards to public facing websites and web applications? Am I right in my assessment? I am keen to know the experiences and any learnings of other web developers and designers

Thanks.

0 投票
1 回答
295 浏览

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

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

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

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

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

0 投票
2 回答
498 浏览

javascript - 在没有 JavaScript 的 CSS 中突出显示活动面板

我正在构建类似的东西 - http://www.impressivewebs.com/demo-files/content-switcher/content-switcher.html

我想知道是否有人对如何在不使用 JavaScript(纯 CSS)的情况下在导航中显示当前面板有任何想法。

我相当确信这是不可能的,但我想我还是会问。

只是为了澄清...
您会注意到,当您单击此页面上的链接时 - http://www.impressivewebs.com/demo-files/content-switcher/content-switcher-javascript.html 您刚刚单击的链接在亮点上通知用户他们正在查看哪个面板。这就是我想在 CSS 中做的事情。

0 投票
1 回答
959 浏览

forms - 通过渐进增强在 Web 上上传大文件的最佳实践

我正在构建一个 HTML 表单,用户应该能够使用它上传高达 ~100MB 的大文件。

我的用户可能来自任何地方,所以我不能指望宽带连接、现代浏览器或 Javascript/Flash 的可用性。对于确实拥有这些“附加功能”的用户,我想提供更好的体验,例如对流程的某种形式的反馈和灵活的形式。

我能想到的唯一可能出错的是服务器超时。但由于我从未构建过这样的功能,我想知道其他人的最佳实践和该领域最严重的问题是什么

不完全相关,但后端是 PHP。

0 投票
2 回答
252 浏览

asp.net - 长期运行任务的渐进增强

我正在寻找改进启动长时间运行(> 2 分钟)服务器端任务的网页的方法。当前版本的页面只在任务的整个持续时间内计时,这对用户来说可能非常令人沮丧。

关于如何改善用户体验,我已经有了一些想法,但它们都会在某种程度上涉及 AJAX 的使用。由于我之前在这个项目上的经验,我知道并非所有用户都启用或使用 JavaScript。

假设服务端的流程已经尽可能的优化了,我还能做些什么来尽可能的提升所有用户的体验呢?

0 投票
2 回答
977 浏览

javascript - 在加载 jQuery 之前运行的 enhance.js 库 onScriptLoaded

使用他们的 Progressive Enhancement enhance.js库查看来自 Filament Group 的演示

修改为:-

我在警报中收到“$ is undefined error”,大概是因为 jQuery 尚未加载。

注意 - alert($) 仅用于调试 - 我正在尝试用它做一些事情,例如 $('some-selector') - 并且没有 $(handler) 或 $(document).ready 等也不起作用 - jquery 未加载,$ 未定义。

增强的onScriptLoaded看起来应该可以解决问题,但如果我添加

然后

第一个警报有效,但 $ 仍未定义。

如果我在按钮的单击事件上调用 runMyCode,它确实有效。

所以问题是 - 一旦所有脚本都完成了enhanced.js的加载,你如何运行代码?

PS 在 IE8/FF3/Chrome7 中验证了同样的问题

0 投票
1 回答
93 浏览

html - 渐进增强或单独标记

我不确定标题是最好的,但我想不出完美的描述性。这是我的场景。

我必须建立一个门户网站,它将使用 ajax 和 Javascript 提供的所有“花里胡哨”,同时对于可能没有 Javascript 和/或正在使用旧系统的用户仍然可以访问和使用。在我看来,我有两条路可以走。

  1. “渐进增强”:通过这种方法,我们将拥有一组标记,它将作为一个功能齐全的经典 html 门户。然后,客户端库将增强现有标记以覆盖 html 功能并用高级 Javascript 功能取代它。

  2. 第二个想法是有两个客户端库,一个用于启用 Javascript 的门户,一个用于经典 HTML。

我看到了优点和缺点。

  1. 第一种情况为可维护性保留了较小的占用空间。我们有一组标记,没有重复或同步问题。我在这里看到的负面因素是代码可能会因为必须执行双重任务而变得混乱,并且更容易被破坏。

  2. 第二种情况很好,因为每个门户方面都可以根据其需要进行优化。显然维护两套代码会带来大量的维护问题。

我目前倾向于方案 1,但方案 2 有一些我喜欢的积极因素,例如易于添加第三个选项。坦率地说,我在这两种可能性之间左右为难,因为两者都是可行的。哪种情况最有意义?

0 投票
2 回答
916 浏览

javascript - 我应该如何为有和没有 javascript 支持的浏览器编写 Jquery Mobile 应用程序?

我正试图围绕 jQuery Mobile。我的目标是构建一个非常快速的应用程序,其外观和感觉尽可能接近原生应用程序(至少对于现代设备而言)。

我了解在页面之间导航有两种方式:

  1. 将每个页面加载为单独的页面,并使用常规 html 锚链接到其他页面。

  2. 将所有(或多个)页面放在一个网页上,并通过 javascript($.mobile.changePage(方法)和类似的 api 函数)在它们之间导航。

第一种方法应该适用于所有浏览器,但性能很差,因为每个页面转换之间存在延迟。

第二个看起来应该快得多,所以我肯定更喜欢这种方法。但是,对于没有 javascript 支持的移动设备浏览器,这将如何工作呢?这显然违背了 jQuery Mobile 为 C 级浏览器提供优雅降级体验的目标。

在我看来,我需要实现我的应用程序两次,一次针对支持 javascript 的浏览器进行优化,一次针对不支持的浏览器进行优化?使用可能是另一种选择,但这看起来更加混乱。

解决这个困境的推荐方法是什么?有什么我没有注意到的吗?

谢谢,

阿德里安

0 投票
1 回答
153 浏览

php - 国际化表格的最佳实践?

这是用例:

我正在建立一个服务于各种全球市场并在多个平台上运行的网站。站点已经支持语言文件。一旦确定了区域设置,就会提供适当的语言文件。界面中的所有文本都通过语言文件提供。

对于链接国家/州/省的事情,我过去曾使用 javascript 来交换选项,但我正在寻找一种在服务器上处理的解决方案,无需任何客户端交互(因此该解决方案必须在没有 javascript 的情况下工作)。

有人对实践有什么建议吗?我应该在数据库中存储国家/州/地区吗?我是否应该要求用户提交仅选择国家的注册表单,并根据国家选择显示与该国家相关的国家和地区?

我在这里寻找一种符合渐进增强原则的解决方案。稍后我将改进我使用 javascript 采取的任何路线,但现在我需要一些无需任何客户端脚本即可工作的东西。谢谢!