javascript 高级程序设计 二
这里我们直接进入主题:
在JS刚刚开始的时候,必须面临一个问题,那就是如何使的JS的加载和执行不会影响web核心语言HTML的展示效果,和HTML和谐共存。
在这个背景下<script>标签出现了,直到现在已经被正式纳入HTML规范当中,所以我们今天就开始聊一聊<script>.。
1、<script>标签其他属性
asyc:可选,表示立即下载script文件,但不妨碍页面的其他操作,但是它并不保证浏览器按照所写的<script>标签的顺序进行一个个的加载
defer:表示脚本执行时并不影响页面的构造,也就是在JS脚本下载完成到JS脚本被解析器解析完成这段时间,被放到了整个页面都解析完毕
以后来执行解析JS的操作,并且解析的时候是按照所写的<script>标签的顺序进行一个个的加载。但是这些在HTML5会忽略给嵌入JS脚本的defer
属性,所以还是建议按照Yahoo!前端手册中规定的,把JS脚本放到文档的最后,也就是</body>之前
type:使用的脚本语言的内容的类型(MIME类型),不写的时候默认是test/javascript,
src:包含要执行代码的外部文件,这个属性的值是可以跨域来进行加载解析文件,和<img>的src一样,如下
<script src="http://www.somewhere.com/init.js"></script>
2、XHTML中的应用
xhtml:可扩展的超文本标记语言,要想使用XHTML模式,必须把页面的MIME类型指定为"application/xhtml+xml",
在html中如果<script>标签中又包含了一个</script>字符串,那么html就会认为JS脚本已经结束所以会产生一个错误用一下代码来替换:
<script type="text/javascript">
alert("<\/script>");
</script>来替换alert("</script>");
而在xhtml中的script标签都是自闭标签,写成上面的格式则被忽略。所以在XHTML中<是有特殊的含义,在XHTML中表示小于就要用到:< 来替换
3、CData片段:
CData片段是文档中的一个特殊的区域,他中的代码不会被浏览器进行解析,写法:
<script type="text/javascript"><! [CDATA{
function func(a,b){
xxxx
}
}]></script>
最新文章
- C# Windows API
- python_编程规范
- NSUserDefaults的使用
- yii2 renderPartial
- 可以链接不同源的资源的html元素(能实现跨域)
- 关于高性能Web服务的一点思考
- jquery中ajax方法返回的三种数据类型:text、json、xml;
- 解决ScrollView嵌套ListView,ListView填充容器后,界面自动滚动回顶部的问题
- mysql 显示行号,以及分组排序
- spring aop advice
- 详解mysql int类型的长度值问题
- [leetcode]_Container With Most Water
- HTML5 图片上传预览
- 【BZOJ 3343 】 分块
- POJ 3020 Antenna Placement 解题报告
- java学习多线程之创建多线程一
- js 全国城市3级联动
- 获取android源码时repo的错误
- Java 基础 -- 泛型、集合、IO、反射
- 对于ES6中Promise的个人见解
热门文章
- spring boot 访问jsp 弹出下载
- Incompatible shapes during the half way training---Invalid argument: Incompatible shapes: [1,63,4] vs. [1,64,4]
- laravel 命令行创建controller 创建数据库表迁移 创建module
- 启动 idea 编译报错 kotlin
- 重启虚拟机后,再次重启nginx会报错:[emerg] open() ";/var/run/nginx/nginx.pid"; failed (2: No such file or directory)
- html实现导航栏效果
- python全栈开发 随笔 &#39;is&#39; 和 == 的比较知识与区别 编码和解码的内容及转换
- GreenDao存储自定义类型对象解决方案(转)
- Oracle 存储过程例子返回记录集
- Nginx 功能