javascript - 回流时测试 JS 是否启用?

标签 javascript html fallback reflow

如果启用了 JS,我知道如何在页面加载或刷新时进行测试,但有可能在每次回流时都这样做吗?

假设一个页面在 JS 启用时加载,但在浏览器 session 期间它被禁用,之后用户执行的任何依赖 JS 的操作都将失败。例如,在测试之后我发现 Chrome 在这些更改生效之前需要刷新,而 Firefox 会立即应用它们 - 因此当 JS 被禁用并且没有启动在页面加载时生效的回退时,最初运行良好的网站崩溃了。

有些人可能会认为这是一个微不足道的问题,我相信有回退可以解决这个问题,但是是否有可能在每次重排时测试页面的状态?

欢迎任何进一步的想法/建议/后备示例。非 JQuery 最受欢迎。谢谢!

最佳答案

如果/当 JS 在页面上被禁用时,您无法采取任何客户端操作来“修复”您的页面。您不能关联处理程序之类的东西,因为如果禁用 JS,它就不会运行。

通常,想要为禁用的 JS 提供回退的网站通过使用 JS 来增强功能而不是功能。

如果 JavaScript 突然被禁用,这里有一个有限但有创意/hacky/原始的恢复方法:

在 DOM 中放置一个覆盖整个页面的不可见链接。该链接指向不需要 JavaScript 的页面版本(最糟糕的是页面通知用户他必须启用 JavaScript)。显然,链接的默认操作是通过 JavaScript 禁用的。使用 JavaScript 将其上发生的所有事件重新触发到下面的元素。每当禁用 JavaScript 时,任何后续点击都将导航至无脚本页面。显然,除了点击之外,这对任何其他事件都不起作用,而且很麻烦,但这是您最接近您所追求的事件。

另一个想法是用 JavaScript 操纵元重定向(重定向总是在 1 秒后发生,然后用 JS 将其更改为在 1 秒后发生,等等),但是 apparently that doesn't work .

关于javascript - 回流时测试 JS 是否启用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22597213/

相关文章:

javascript - ExtJS 中的评级表

javascript - Facebook 图片查看器滚动问题

html - 将样式表应用于一个元素

CSS/html 更改链接字体

node.js - Node 脚本 - 从一台服务器故障转移到另一台服务器

Javascript,对象原型(prototype) - 避免编写完整路径

c# - 将参数发送到 Polly 中的后备操作

javascript - jQuery:显示 <p> 超出一行的内容

html - 如何在图像上写文字。

javascript - PHP - 获取表格中显示的总值