<script>标签和属性

本文详细介绍了HTML中的<script>标签的使用方法及其常见属性,包括async、defer、language、src、type等,通过实例演示了不同属性的用法和效果。

<script>标签是用于向HTML页面插入javascript代码。

该元素由Netscape创造并在 NetScape Navigator 2中首次实现


HTML 4.01为<script>定义了如下6个属性:async,charset,defer,language,src,type

  • async: 可选属性,只对外部脚本有效,表示立即下载脚本,不会妨碍页面中其他操作。
  • defer:可选属性,只对外部脚本有效,表示脚本延迟到文档被完全解析后再执行。注意:ie7及以前的版本也支持嵌入脚本
   defer演示:



Myjs.js如下:

        alert("asdf");//存储为Myjs.js

index.html如下:

<!DOCTYPE html>
<html>
 <head>
  <meta charset="UTF-8">
    <script  src="Myjs.js"><span style="font-family: Arial, Helvetica, sans-serif;">  </script></span>
  <title>Document</title>
 </head>
 <body>
  页面内容
 </body>
</html>

运行结果:

先弹出警告框,在未点击确定前,html文档内容不会显示。

为<scirpt>标签添加属性 defer=true。

运行结果:

页面显示内容,并弹出警告框

  • language:已废弃,大多数浏览器会忽略此属性
  • src:可选,用于表示外部文件
  • type:可选,表示使用的脚步语言的内容类型,目前 type 默认值为 text/javascript
存在问题:在《Javaascrit高级程序设计》中描述async是html4.01中<script>的属性,而w3school网站上却描述该属性是html5中的新属性。

在 HTML 中,`<style>` 标签 `<script>` 标签可以进行内联引用,以下是相关方法注意事项: ### `<style>` 标签内联引用 #### 方法 在 HTML 文件的 `<head>` 或 `<body>` 部分直接使用 `<style>` 标签包裹 CSS 代码,示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> body { background-color: lightblue; } h1 { color: red; } </style> </head> <body> <h1>Hello, World!</h1> </body> </html> ``` #### 注意事项 - **作用域**:内联的 `<style>` 标签中的样式只对当前 HTML 文件有效。 - **优先级**:内联 `<style>` 标签中的样式优先级高于外部 CSS 文件,但低于元素的内联样式(即 `style` 属性)。 - **代码维护**:如果 CSS 代码较多,会使 HTML 文件变得冗长,不利于维护,建议将大量 CSS 代码提取到外部 CSS 文件中。 ### `<script>` 标签内联引用 #### 方法 在 HTML 文件的 `<head>` 或 `<body>` 部分直接使用 `<script>` 标签包裹 JavaScript 代码,示例如下: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> </head> <body> <button id="myButton">Click me</button> <script> const button = document.getElementById('myButton'); button.addEventListener('click', function() { alert('Button clicked!'); }); </script> </body> </html> ``` #### 注意事项 - **加载顺序**:当 `<script>` 标签放在 `<head>` 中时,会在页面内容加载之前执行,可能会导致无法获取到页面元素。因此,通常将 `<script>` 标签放在 `<body>` 的末尾,以确保页面元素已经加载完成。 - **性能影响**:内联的 JavaScript 代码会增加 HTML 文件的大小,影响页面加载速度。对于大型项目,建议将 JavaScript 代码提取到外部文件中。 - **安全性**:如果内联的 JavaScript 代码包含用户输入或从其他来源获取的数据,需要注意防止跨站脚本攻击(XSS)。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值