如何隐藏不支持 JavaScript 的旧版浏览器的 JavaScript 代码?
旧版浏览器有时无法识别 JavaScript 脚本标记。如果无法识别,它们会直接忽略它,并将您的脚本显示为 (X)HTML 文档主体的一部分。使用注释隐藏脚本以防止这种情况发生是一种明智的选择。
现在所有现代浏览器都支持 JavaScript;但是,早期的浏览器不支持。在本文中,我们将学习如何防止 JavaScript 代码在旧版浏览器中执行。
由于您的一些浏览者会在手机上查看网站,而其他人则使用大型桌面屏幕,因此网站不可能在所有浏览器中看起来完全相同。同样,您的一些用户会使用过时的浏览器,而其他用户会使用最新的浏览器。您的一些用户可能正在使用屏幕阅读器来听取您的信息,或者可能放大屏幕来阅读信息。提供一个内容版本,该版本经过精心设计,在现代浏览器上看起来非常出色,但对于过时浏览器的用户来说,在基本层面上仍然可以使用,这就是"支持所有人"的概念。
策略 - 在打开 <script> 标签后,我们将使用没有结束字符 (<!-) 的单行 HTML 注释。之后,我们将创建 JavaScript 代码,该代码将在早期浏览器中隐藏。在我们使用带注释的结束字符 (//->) 之前,脚本将使用 </script> 标签关闭。
语法
<script> <!-- // 您的 JavaScript 代码 // 在旧浏览器中隐藏 console.log("Tutorials Point"); //--> </script>
示例 1
在此示例中,让我们了解,如果浏览器支持 JavaScript,则背景颜色将更改为红色;否则,它将保持黄色。
<!DOCTYPE html> <html> <title>How can JavaScript code be hidden from old browsers that do not support JavaScript - TutorialsPoint</title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body bgcolor="green"> <h1 style="text-align: center; font-size: 3rem;"> Learn JavaScript with TutorialsPoint! </h1> <script type="text/javascript"> <!-- document.bgColor = "orange"; //--> </script> </body> </html>
我们可以观察到,过时的浏览器会忽略 JavaScript 代码并将其视为 HTML 注释,而当前浏览器可以毫无问题地访问 JavaScript 代码。
当浏览器支持 JavaScript 时,会显示橙色,如上例中添加的样式。
接下来,当浏览器不支持 JavaScript 时,会显示绿色,如上例中添加的样式。
示例 2
对于支持 JavaScript 的浏览器,这种脚本隐藏方法也有效。脚本的第一行和最后一行用作其标题。客户端的 JavaScript 解释器知道 HTML 注释开头字符串,但将其视为单行注释。
因此,在支持 JavaScript 的浏览器中,第二行被视为单行注释。类似地,您可以看到下面的行以单行注释字符串开头两次,因此支持 JavaScript 的浏览器也会跳过该行。现在,只有第三行到第五行继续以 JavaScript 语句的形式执行。
虽然需要一些时间来适应,但这种简单而优雅的 HTML 和 JavaScript 注释组合实现了我们期望的目标,即防止不支持 JavaScript 的浏览器显示 JavaScript 代码。尽管现在要求使用此类注释的浏览器越来越少,但在互联网上,JavaScript 代码中使用此类注释仍然相当常见。
<!DOCTYPE html> <html> <title>How can JavaScript code be hidden from old browsers that do not support JavaScript - TutorialsPoint </title> <head> <meta charset="UTF-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> </head> <body style="text-align:center"> <h2> Visit TutorialsPoint! </h2> <div id="result"> </div> <script langauge="JavaScript"> <!-- start an HTML comment to hide the script // Here are the JavaScript statements. // // // close the HTML comment which hides the script --> const date = new Date(); document.getElementById("result").innerHTML = (date); </script> </body> </html>