美文网首页
拆分1:(在HTML中使用Javascript)

拆分1:(在HTML中使用Javascript)

作者: 泽玲_d7fb | 来源:发表于2019-05-09 21:06 被阅读0次

1.使用<script>标签

1.使用<script>的两种方式

1.直接在页面中嵌入

<script type="text/javascript">

function sayHi(params) { console.log('hi') }

</script>

批注:包含在javascript中的代码会从上到小依次解释;当浏览器解析<script>中的代码完毕之前,页面中的其他代码不会被浏览器加载和显示

2.包含外部文件

<script type="text/javascript" src="index.js"></script>

批注:与解析嵌入式JavaScript代码一样,在解析外部JavaScript的代码时(包含下载该文件),页面的处理会被停止

2.标签的位置

<!DOCTYPE html>

<html lang="en">

<head>

<meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0">

<meta http-equiv="X-UA-Compatible" content="ie=edge">

<title>Document</title>

<script type="text/javascript" src="index.js"></script>

<script type="text/javascript" src="index.js"></script>

</head>

<body>

//注释

</body>

</html>

批注:这样做的目的是为了在加载页面时,先把外部文件先下载,所有就必须把所有的JavaScript的文件下载完;但是会有一个缺点,就是如果外部引入的文件过于大的话,会导致浏览器在呈现页面时会有延迟,而延迟期间页面一直空白;体验不好,所以之后我们会把引用的文件放在放在<body>的内容的后面

3.延迟脚本

defer属性:属性的用途是表明脚本在执行时不会页面的构造,也就是说,脚本会被延迟到整个页面都解析完毕后再运行;

设置defer属性,等于告诉浏览器立即下载但延迟执行

<script type="text/javascript" src="index.js" defer=“defer”></script>

<script type="text/javascript" src="index.js" defer=“defer”></script>

批注:第一个延迟脚本会先于第二个延迟脚本执行,defer只适用于外部脚本文件

4.异步脚本

html5为<script>元素定义了async属性

这个属性与defer属性类似,只适用于外部脚本文件,但是与defer不同的是,async的脚本并不会按照指定他们的先后顺序执行

<script type="text/javascript" src="index.js" async></script>                                     <script type="text/javascript" src="index.js" async></script>

2.<noscript>标签

浏览器不支持JavaScript让页面平稳的退化,浏览器不支持脚本,浏览器支持脚本,但是脚本被禁用,满足任意一个,都会显示<noscript>的内容

<!DOCTYPE html><html lang="en"><head><meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"><meta http-equiv="X-UA-Compatible" content="ie=edge"><title>Document</title><noscript>12132131231231</noscript></head><body>//注释</body></html>

相关文章

  • 拆分1:(在HTML中使用Javascript)

    1.使用