鱼C论坛

 找回密码
 立即注册
查看: 1791|回复: 0

[学习笔记] script 和 noscript 元素

[复制链接]
发表于 2020-1-16 14:13:14 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
script 和 noscript 元素


script

script 元素是用于在网页中嵌入 JavaScript 脚本的。例如:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head></head>
  4.   <body>
  5.     <script>
  6.       document.write("Hello");
  7.     </script>
  8.   </body>
  9. </html>
复制代码


执行这个 html 文件,将会在页面上显示 Hello。

script 元素还可以链接外部的 JS 文件,例如:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head></head>
  4.   <body>
  5.     <script src="a.js"></script>
  6.   </body>
  7. </html>
复制代码


a.js:

  1. document.write("Hello");
复制代码


执行 html 文件,一样会在页面显示 Hello。

注意:链接了外部的 JS 文件,<script> 标签内部不能再有 JS 代码。例如下面这段代码是错误的:

  1. <script src="a.js">
  2.     document.write("123")
  3. </script>
复制代码


正常情况下,HTML 被解析时遇到了 JS 代码时会停下解析 HTML 代码,转而执行 JS 代码。我们可以延迟 JS 代码的执行,等到 HTML 代码解析完后再执行 JS 代码:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head></head>
  4.   <body>
  5.     <!-- defer 属性用于延迟 JS 代码的执行 -->
  6.     <script src="a.js" defer></script>
  7.   </body>
  8. </html>
复制代码


还可以异步执行 JS 代码(JS 代码和 HTML diamante同时解析):

  1. <!DOCTYPE html>
  2. <html>
  3.   <head></head>
  4.   <body>
  5.     <!-- 设置 async 属性 -->
  6.     <script src="a.js" defer></script>
  7.   </body>
  8. </html>
复制代码


defer、async 只能用于外部代码文件。

noscript

当浏览器不支持 JavaScript 时,我们可以用 noscript 元素显示一些内容:

  1. <!DOCTYPE html>
  2. <html>
  3.   <head></head>
  4.   <body>
  5.     <script>
  6.       document.write("欢迎你,让我们开启 JavaScript 的旅程吧!");
  7.     </script>
  8.     <noscript>
  9.       <p>都什么年代了,没有 JavaScript 哪行?!</p>
  10.       <img
  11.         alt="嫌弃"
  12.         src="https://ilovefishc.com/html5/html5/lesson6/img/xianqi.png"
  13.       />
  14.     </noscript>
  15.   </body>
  16. </html>
复制代码


运行这段 HTML 代码,一般是可以正常显示 "欢迎你,让我们开启 JavaScript 的旅程吧!" 的,如下图:

1.png

但当浏览器不支持 JavaScript 或者用户禁用了 JavaScript 时,会显示如下的内容:

1.png

本帖被以下淘专辑推荐:

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-4-26 17:08

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表