问题标签 [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,如何在网页上生成不同的链接?
我正在尝试遵循不显眼的 JavaScript / 优雅降级的技术。我想在打开 JavaScript 和关闭 JavaScript 时提供具有不同链接的页面。
例如,当 JavaScript 关闭时,链接将是
当 JavaScript 打开时
(或类似的东西)。
链接的两个版本(带有 JavaScript 和不带 JavaScript)都指向服务器端脚本,但参数不同。当 JavaScript 关闭时要调用的版本在服务器上执行得更多,因此在那里检测 JavaScript 将是无效的(例如,从非 JavaScript 的服务器脚本通过重定向到另一个版本window.location
)。
注意:我更喜欢不使用 jQuery 等 JavaScript 库/框架的解决方案。
javascript - 在没有 JavaScript 的情况下优雅降级仍然有用吗?
当甚至移动浏览器都有 JavaScript 时,是否真的有必要考虑潜在的无脚本用户?
java - 如何在针对 Java 1.5 优雅降级时引用 Java 1.6 API?
我想使用 Java 1.6 中的java.text.Normalizer类进行 Unicode 规范化,但我的代码必须能够在 Java 1.5 上运行。
我不介意在 1.5 上运行的代码是否不进行规范化,但我不希望它在运行时给出NoClassDefFoundError
s 或ClassNotFoundException
s 。
实现这一目标的最佳方法是什么?
javascript - 为javascript脚本支持和不支持设计一个网站
好的,我知道您的网站在禁用 javascript 的情况下正常工作很重要。
在我看来,开始考虑如何设计此类网站的一种方法是在主页上检测 javascript,如果未启用,则重定向到没有 javascript 代码并使用纯 html(如 gmail)的网站的另一个版本
我想到的另一种方法是,例如在网页上的对话框中考虑一个 X(关闭按钮)。如果在没有任何 javascript 干扰的情况下按下 X 会导致向服务器发送请求,并且在服务器端我们在下次渲染页面时隐藏该对话框,并且我们将 javascript 函数绑定到链接的 onclick 并且以防万一启用 javascript 它将立即隐藏对话框。
你觉得这怎么样?您将如何设计一个网站来支持两者?
python - Python中的优雅降级酸洗
(您可能会阅读此问题以了解一些背景)
我想有一种优雅的降级方式来在 Python 中腌制对象。
当pickle一个对象时,我们称它为main object,有时Pickler会抛出一个异常,因为它不能pickle主对象的某个子对象。例如,我经常遇到的一个错误是“不能腌制模块对象”。那是因为我从主对象引用了一个模块。
我知道我可以写一些东西来用包含模块属性的外观替换该模块,但这会有其自身的问题(1)。
所以我想要的是一个酸洗功能,它会自动将模块(以及任何其他难以酸洗的对象)替换为包含其属性的外观。这可能不会产生完美的酸洗,但在许多情况下就足够了。
有这样的吗?有谁知道如何解决这个问题?
(1) 一个问题是该模块可能在其中引用其他模块。
html - 提交链接 - 没有 Javascript:缺点?
前几天我发现了一个启示。在尝试使用图像创建提交按钮时,我遇到了图像未显示但value
文本显示的问题。当时,这不是我想要的,但现在,当我回首往事时,我看到了它的一些潜在用途。
如果您需要将数据发送到另一个页面,但都不需要用户输入,您可以通过链接(或表单)GET
或通过表单发送数据POST
。问题是前者创建了丑陋的 URL,而后者需要一个submit
看起来不合适的按钮。当然,我可以想出一个图像,但如果我只是想要可选择的文本怎么办。
所以,我开始玩了一下,Firefox 似乎按照我的意愿呈现以下内容,作为提交表单的可点击链接。您所要做的就是从标签中删除src
属性:input type='image'
此解决方案是否适用于其他浏览器?这样做有什么缺点(除了链接 CSS 应用不正确这一明显事实)?
javascript - Javascript Ajax 优雅降级,具有不同的页面?
我开始更加关注让我的 javascript 和 ajax 优雅地降级。哪个更推荐:
- 致力于将优雅降级合并到您现有的代码中(可能很棘手)或
- 为非 js 用户开发一组不同的页面。
我倾向于使用不同的页面集,因为我觉得它更容易,并且我可以为每种用户类型(启用 js 或禁用 js)提供最佳结果。你同意我的观点吗?如果不同意,你为什么不同意?
我也担心黑客攻击。例如,黑客进入启用 js 的版本,然后禁用他的 js。关于这一点有什么想法吗?我不太了解黑客攻击,但是如果我使用单独的版本,这会是一个安全问题吗?
提前致谢
bash - 终端上 globbing 的优雅降级
每当 glob 模式匹配失败时,它就会停止整个工作。例如,
*.png 没有移动到 folder1 并且 blahblah 没有运行。
下面的脚本仅适用于 .[Az]* 和 * 都成功的情况。
如何优雅地使 globbing 失败,最多只显示警告,但从不停止工作?
javascript - 询问客户以确定执行能力的信息?
我正在寻找有关询问当前用户客户端的经过验证的过程的信息,并可能对代码片段进行基准测试,以确定客户端执行某些类型代码的效率。
显然,尽可能高效地编写代码是不变的目标。然而,某些功能和效果往往会降低低端机器的体验。使用基准信息,可以逐个用户禁用某些效果(褪色等),以增加属性/应用程序的体验。
如果您不知道这方面的任何信息,您对如何完成有想法吗?
谢谢
javascript - 锚定 AJAX 和 SEO 解决方法?
你们都知道如何使用那些 300 毫秒的触发器来构建 AJAX 站点,以检查 URL 中的锚点(哈希链接),然后使用 AJAX 加载正确的页面。但是,这些锚链接对搜索引擎来说毫无意义 =(
我想过做一些解决方法。所有 JS 代码都保持不变,但是,这个小东西(我使用 JQuery,抱歉):
然后,将正文中的锚链接替换为普通链接,为非 JavaScript 用户和搜索引擎构建相应的普通页面(仍然包含所有 JS 代码)。对于普通访问者,您可以将普通链接即时转换为哈希值并立即加载 AJAX 内容。对于那些试图加载通过搜索引擎找到的某些页面的人 - 他们会,之后访问者将继续使用 ajax 导航......不知何故(请记住,那些普通的直接页面仍然包含 JS 代码)。
我只是想确保我的假设是正确的。他们是吗?
更新:不好的是,当用户使用 for ex 直接进入一些内部页面时。/portfolio地址,然后他会继续使用/portfolio#contacts或类似的 URL,这些 URL 不是很漂亮,但仍然有效(我的意思是/portfolio#contacts会显示联系人)。