检查当前浏览器页面是否支持JavaScript

546 阅读1分钟

前言

JavaScript是一种具有函数优先的轻量级,解释型或即时编译型的高级编程语言。也作为开发 Web 页面的脚本语言。

但部分浏览器为确保安全性,阻止广告/追踪等,会关闭JavaScript功能。

Microsoft Edge 设置

我们就需要提醒用户开启JavaScript获取最好的页面体验。

实现

首先,先写出一个基本的HTML页面。

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Check For JS</title>
	</head>
	<body>
	</body>
</html>

然后增加提示层,主要是提示用户开启JavaScript

<!-- Check For JavaScript -->
<div class="alert-js">
	<p>啊哦,<code>JavaScript</code>似乎无法正常使用。请尝试打开<code>JavaScript</code>以获得最佳体验!</p>
</div>

现在查看页面,提示栏似乎不太好看,可以增加CSS

@font-face{
    font-family: 'Code';
	src: url('https://cdn.jsdelivr.net/gh/z-cdn/Font@5d081c5/Code/SourceCodeVariable-Italic.ttf');
}
.alert-js{
	background-color: #FFFF9D;
	text-align: center;
}
code{
	font-family: Code;
}

现在提示就变好看了些。

但是现在开启JavaScript的用户也会看见提示,所以我们要加入一些隐藏的代码。

但是,既然都没有开启JavaScript,怎么使提示隐藏呢?

其实,我们可以增加JavaScript代码,隐藏提示。而无法使用JavaScript的用户,就不会执行,也就不会隐藏。

我使用较简单的方法,直接往页面内写入CSS,并使用display: none隐藏。

document.write("<style>.alert-js{display:none;}</style>")

并在头部引入此代码,就像这样。

index.html

<!DOCTYPE html>
<html>
	<head>
		<meta charset="utf-8">
		<title>Check For JS</title>
		<link rel="stylesheet" type="text/css" href="alert.css">
		<script src="check.js"></script>
	</head>
	<body>
		<!-- Check For JavaScript -->
		<div class="alert-js">
			<p>啊哦,<code> JavaScript </code>似乎无法正常使用。请尝试打开<code> JavaScript </code>以获得最佳体验!</p>
		</div>
	</body>
</html>

check.js

document.write("<style>.alert-js{display:none;}</style>")

alert.css

@font-face{
    font-family: 'Code';
	src: url('https://cdn.jsdelivr.net/gh/z-cdn/Font@5d081c5/Code/SourceCodeVariable-Italic.ttf');
}
.alert-js{
	background-color: #FFFF9D;
	text-align: center;
}
code{
	font-family: Code;
}

测试

现在再试一试,开启JS的用户页面没有开启的提示。 开启JS

关闭JS的用户显示提示。

关闭JS

效果预览:code.nptpc.com/try/js/chec…