1:在使用<script>嵌入JavaScript代码死,记住不要在代码中的任何地方出现"</script>"字符串

例如,浏览器在加载下面所示代码时就会产生一个错误

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

2:带有src属性的<script>元素不应该在其<script></script>标签之间再包含额外的JavaScript代码。如果包含了嵌入的代码,则只会下载并执行脚本文件,嵌入的代码会被忽略。

3:<script>和<img>类似,src属性可以引用来自外部域的文件。但是这样存在危险,需要小心谨慎使用。

4:延迟脚本 defer

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

只适用外部引用的文件

脚本会被延迟到整个页面都解析完毕后再运行,相当于告诉浏览器立即下载,但延迟执行。

现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟脚本。

5:异步脚本 async

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>联系</title>
<script type="text/javascript" async="async" src="example1.js"></script>
    <script type="text/javascript" async="async" src="example2.js"></script>
</head>
<body> </body>
</html>

与defer类似

只适用外部引用的文件

脚本会被延迟到整个页面都解析完毕后再运行,相当于告诉浏览器立即下载,但延迟执行。

与defer不同的是标记为async的脚本并不保证按照指定他们的顺序先后执行,因此,确保两者之间不依赖非常重要

6:外部文件 之于 嵌入代码的优点

*可维护性好

*可缓存

*适应未来:无需使用XHTML、hack技术

最新文章

  1. CENTOS/UBUNTU一键安装IPSEC/IKEV2 VPN服务器
  2. jstl的mavin依赖
  3. 使用ckplayer搭建rtmp视频直播应用
  4. 使用命令行将Excel数据表导入Mysql中的方法小结
  5. MacOSX 中如何动态隐藏Dock Icon
  6. 第二次冲刺spring会议(第二次会议)
  7. 多校 Cow Bowling
  8. poj 1013(uva 608) Counterfeit Dollar
  9. Linux下搭建svn服务端
  10. leetcode — reverse-linked-list
  11. 利用python itchat给女朋友定时发信息
  12. java mvc spring boot
  13. ios 回调函数作用
  14. Problem E: 编写函数:Swap (I) (Append Code)
  15. Delphi获取本机的MAC地址
  16. python基于pillow库的简单图像处理
  17. python制作查找单词翻译的脚本
  18. css table第一列 宽度
  19. (转)libhybris及EGL Platform-在Glibc生态中重用Android的驱动
  20. Python 常用扩展库(八)

热门文章

  1. Spring MVC 程序首页的设置 - 一号门-程序员的工作,程序员的生活(java,python,delphi实战)
  2. struts2使用iterator标签显示嵌套Map - 云自无心水自闲 - BlogJava
  3. struts2.0 s标签_小小鸟_百度空间
  4. UVA 11255 Necklace
  5. 静态方法List
  6. VC2010编写Dll文件(转)
  7. Spring动态数据源的配置
  8. VB.NET中网络编程所需组件WinHTTP的添加
  9. 使用python爬虫抓站的一些技巧总结:进阶篇
  10. 堡垒机--paramiko模块