我对一个问题感到困惑。许多浏览器(如 Internet Explorer)允许禁用 javascript。
如何检查用户的浏览器是否禁用了 javascript?
例如modernizr 使用的一种方法是您设置一个类no-js
,然后modernizr 在完成后删除该类。
除了 pdeurstler 的回答之外,还有一种老派的方式。
它有点老派,但<noscript>...</noscript>
检测到 JavaScript 被禁用并执行嵌入 HTML。
一个常见的解决方案是meta
结合标签noscript
刷新页面并在 JavaScript 被禁用时通知服务器,如下所示:
<!DOCTYPE html>
<html lang="en">
<head>
<noscript>
<meta http-equiv="refresh" content="0; /?javascript=false">
</noscript>
<meta charset="UTF-8"/>
<title></title>
</head>
</html>
0
在上面的示例中,当 JavaScript 被禁用时,浏览器将在几秒钟内重定向到网站的主页。此外,它还将参数发送javascript=false
到服务器。
然后,诸如 node.js 或 PHP 之类的服务器端脚本可以解析参数并知道 JavaScript 已禁用。然后它可以向客户端发送一个特殊的非 JavaScript 版本的网站。
只要有一些文字说您需要 javascript 才能使用该网站,然后 onload 使用 javascript 销毁该文本。