script元素

摘要:
这将大大降低用户的体验。1.延迟脚本延迟。当您在脚本属性中设置此属性时,您会告诉浏览器脚本将立即下载,但执行将被延迟。

一、script元素属性:

向html元素插入js代码就必须得有script元素,这其中有两个属性比较常用到:async、defer、src

1.async:可选,表示应该立即下载脚本,但不应妨碍页面中的其他操作,比如下载其他资源或其他待加载的脚本。只对外部文件有效。

2.defer:可选,表示脚本可以延迟到文档被完全解析和显示之后再执行。只对外部脚本文件有效。IE7及更早版本对嵌入脚本也支持这个属性。

3.其余的属性还有charset、language(已废弃)、type、ecmascript、text/javascript(默认,不指定也可以),其中charset用于通过src属性指定的字符集,一般浏览器会忽略,不建议使用。

二、js引用方式:

js代码的解释顺序是从上至下依次解释的。解释器对script元素内部的所有代码求值完毕以前,页面中的其余内容都不会被浏览器加载或显示

1.直接嵌入:

在script元素中嵌入代码时,要注意代码内部不能出现</script>,因为浏览器遇到 这个字符的时候,就会以为 遇到结束标签,要想解决这个问题,就需要转义字符“”

比如:

<script type="text/javascript">
function sayScript(){
alert("</script>")
}
</script>

2.外部包含:

要引入外部文件,那么src属性就是必须的,语法如下:

<script type="text/javascript" src="http://t.zoukankan.com/example.js"></script>

  注:在xhtml中,省略结束标签,但在html中,这不符合规范;另外,如果在引入外部js文件的script元素中还有js代码,继续执行外部文件中的js,忽略直接嵌入的js

三、js引用位置

一般我们选择把js放在head标签内部,但这意味着我们必须要等待js加载,执行完毕之后,才能加载页面。这样对用户的体验会大打折扣

1.延迟脚本defer,在script属性中设置该属性的时候,就告诉了浏览器,这个脚本立即下载,但延迟执行。要注意的是,这个延迟脚本最好只有一个,因为延迟脚本之间的执行顺序是不确定的

2.异步脚本async ,该脚本可以让浏览器同时加载脚本以及页面其他内容,因此,建议异步脚本当中不要包含有加载期间修改dom的脚本

四、XHTML

可扩展超文本标记语言,即XHTML,是将HTML作为XML的应用而重新定义的一个标准。XHTML的语法,比HTML要严格得多

因为现在多使用HTMl5。所以,XHTML的用法在此处省略

免责声明:文章转载自《script元素》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇读取JPG图片的Exif属性(一)Fedora 28 报 error while loading shared libraries: libtinfo.so.5 解决办法下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

web前端页面中异步使用百度地图API

<div id="allmap"></div> 1 //百度地图API功能 2 functionloadJScript() { 3 var script = document.createElement("script"); 4 script.type = "text/javascript"; 5 script.src = "htt...

Linux查看实时网卡流量的几种方式

Linux查看实时网卡流量的几种方式 来源  https://www.jianshu.com/p/b9e942f3682c 在工作中,我们经常需要查看服务器的实时网卡流量。通常,我们会通过这几种方式查看Linux服务器的实时网卡流量。 1. sar -n DEV 1 2 sar命令包含在sysstat工具包中,提供系统的众多统计数据。其在不同的系统上命令...

ansible用普通用户执行root权限的命令 + script模块

0.禁止root登陆1.用sudo的用户登陆2.执行root的权限 3.cat /etc/ansible/hosts # Ex 2: A collection of hosts belonging to the 'webservers' group [test] 10.0.0.3 ansible_ssh_user="dev" ansible_ssh_pa...

异步加载js文件的方法

# 异步加载js文件 - js的加载默认是同步的,因为js是单线程执行,只能完成一件再执行下一件. - 一些外部引入的js文件可以因为文件太大,在加载资源的过程中会影响dom元素的加载,影响了用户体验,因此会使用异步加载技术加载文件. - 一般情况下给所有的script标签添加一个async异步属性,在加载script标签的同时加载dom元素.但会出现另...

shell 脚本之set 命令(转)

服务器的开发和管理离不开 Bash 脚本,掌握它需要学习大量的细节。 set命令是 Bash 脚本的重要环节,却常常被忽视,导致脚本的安全性和可维护性出问题。本文介绍它的基本用法,让你可以更安心地使用 Bash 脚本。 一、简介 我们知道,Bash 执行脚本的时候,会创建一个新的 Shell。 $ bash script.sh 上面代码中,scrip...

jQuery .tmpl(), .template()学习资料小结

昨晚无意中发现一个有趣的jQuery插件.tmpl(),其文档在这里。官方解释对该插件的说明:将匹配的第一个元素作为模板,render指定的数据,签名如下: .tmpl([data,][options]) 其中参数data的用途很明显:用于render的数据,可以是任意js类型,包括数组和对象。options一般情况下都是选项了,官方指出,此处的optio...