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

internet-explorer - 不支持边界半径时覆盖边界的方法

我想知道是否有一种方法可以在不支持边框半径时不显示边框,而不必专门针对某些浏览器/使用现代化工具。(我有一个背景图像,当不存在渐变支持时显示,其中包括渐变和圆角边框,但当然渐变显示在它周围)。

}

0 投票
2 回答
1762 浏览

javascript - 从浏览器打印时检测背景图像和背景颜色支持

从浏览器打印页面时,它指的是print.cssmedia="print". 浏览器禁用了一些 CSS 规则,例如background-imagebackground-color,一些浏览器有启用它们的选项。

this answer中所述,无法从页面代码中覆盖此行为。

我对此有两个问题:

  • 是否有关于这些打印规则的任何文档或良好参考?例如:
    • 哪些 CSS 规则被禁用?
    • Javascript 可以在打印之前在页面上做些什么吗?
  • 有没有办法用 Javascript 检测处于打印模式的浏览器,然后制作一个优雅的降级系统?
0 投票
4 回答
73 浏览

javascript - 链接中不显眼的 JavaScript

我想要一个链接来执行 JavaScript 函数(如果 JavaScript 可用)或在href属性中输入 URL(如果不是)。

在这个例子中,如果 JavaScript 可用,我想执行example()而不输入链接,如果 JavaScript不可http://www.example.com用,我想去。

虽然这适用于我尝试过的几乎所有浏览器,但在 IE 7 中,无论 JavaScript 是否处于活动状态,它都只是跟随链接。我能做些什么来防止这种情况发生?

0 投票
1 回答
90 浏览

jquery - 如何使用 ajax 循环优雅地降级

我有一个主循环,当单击某些图标时,我将其替换为其他循环。每个循环实际上都有自己的页面,但对于使用 javascript 的用户,我只是允许他们在主页内容区域中切换循环。我阅读了有关如何执行此操作的教程,它使用 # 作为链接的 href,这不允许我链接到实际页面,而只是让 javascript 忽略该链接并改为执行 ajax。所以我的问题是如何将这个过程设置在下面,以便它优雅地降级。

我有一个名为 mysite.com/my-favorites 的页面。

这就是我在主页上使用 ajax 调用该页面内容的方式。

0 投票
1 回答
3574 浏览

javascript - 向modernizr添加测试的正确方法是什么?

该测试已经存在于 github 存储库中,但是当我尝试将其包含在我的页面中时出现错误,因此我不确定如何将它包含在我的文档中。在我的 html<head>标记中,我链接了modernizr 脚本,然后链接到我正在添加的测试:

css-pointerevents.js

当我现在加载页面时,我收到一个 javascript 错误:Uncaught TypeError: Object #<Object> has no method 'addTest'它必须是对 css-pointervents.js ( Modernizr.addTest('pointerevents', function(){)第一行的引用

0 投票
1 回答
432 浏览

javascript - 绕过 javascript 错误以进行优雅降级

我有一个称为 onclick 按钮的 javascript 函数。它在 chrome 和 firefox 中运行良好。它基本上会放置一些验证检查,以便在信息不完整的情况下不会将表单提交给服务器。

我的问题是,如果在某些浏览器中的 javascript 函数有一些语法错误,我怎么能忽略这些错误,从而绕过验证功能,毕竟验证功能只是为了减少无效的表单提交,并且检查也放在服务器上。

0 投票
1 回答
285 浏览

javascript - 您应该在 AJAX 内容网站上使用 hashbang,还是只使用普通 URL?

所以我正在创建一个相当普通的基于内容的网站,它将通过 AJAX 加载新页面/内容,以获得更流畅的用户体验和一些简单的过渡。我看到很多人使用 hashbang 进行类似的实现。

我的问题是为什么不只使用常规 URL 并让服务器端根据 XMLHttpRequest var 确定是否应该提供常规页面或 JSON/XML/等?乍一看,拥有一个 URL 似乎更有意义,我很好奇为什么我在最初的搜索中没有提到这个想法/方法。也许我只是错过了一些东西......

回答: 我错过了在 HTML5 历史之前不可能在没有页面加载的情况下更新完整 URL。这就是我产生困惑的地方。

0 投票
1 回答
668 浏览

css - 检测计算机是否可以正确支持 3D 变换

当我检测到 webkit 时,我使用 3D 变换属性添加了一个附加样式表。
尽管它在许多不同的计算机上都可以正常工作(都在同一个 chrome 版本上),但有些不能正确渲染动画。

这些是较旧的计算机,具有更便宜的图形卡。(我想这就是导致问题的原因。)

有没有比依赖浏览器检测更好的方法来检测计算机是否可以处理 Css 3D 变换?

0 投票
1 回答
407 浏览

html - HTML 5 功能检测 - 输入字段上的必需属性 - 它会优雅地降级吗?

我想在required我的一个输入字段上使用该属性。我已经编写了它的 JS 版本,但为了完整起见,为什么不包括 HTML 5(至少为非 JS 用户省去麻烦)。

只添加required到输入是否安全,它不会优雅地降级?如果没有,那么我如何检查它的支持(没有 Modernizr)?

0 投票
2 回答
389 浏览

javascript - 渐进式增强 - 不使用 CSS 隐藏元素

我经常发现自己使用 jQuery 显示/隐藏元素,例如一个简单的选项卡式内容区域,其中第一个选项卡可见,而其他选项卡在使用 javascript 显示之前不可见。我知道使用 CSS 隐藏最初隐藏的那些(显示:无)然后用 JS 显示正确的那些不是好习惯,因为非 JS 用户将永远看不到任何东西。所以默认情况下我显示所有,然后用 JS 隐藏相关的。

但是,在这样做时,隐藏的元素将加载,然后仅在文档准备好时才隐藏。我怎样才能阻止这种情况发生?有没有一种方法可以优雅地降级,但在加载时不会出现元素,然后因为看起来有点劣质而迅速消失。