zoukankan      html  css  js  c++  java
  • 第二章在HTML中使用JavaScript

    1.使用<script>标签向HTML页面插入JavaScript

    <script>标签的6个属性:

    1)defer

    只对外部脚本文件有效,表明浏览器应该立即下载脚本,但脚本会被延迟到整个页面都解析完毕后再解释执行。一般用在不会影响页面构造的脚本中,加速页面显示。

    <!DOCTYPE html> 
    <html>   
    <head>     
    <title>Example HTML Page</title>     
    <script type="text/javascript" defer="defer" src="example1.js"></script>     
    <script type="text/javascript" defer="defer" src="example2.js"></script>   
    </head>   
    <body>     
    <!-- 这里放内容 -->   
    </body> 
    </html>

    在这个例子中,虽然我们把<script>元素放在了文档的<head>元素中,但其中包含的脚本将延迟到浏览器遇到</html>标签后再执行。HTML5规范要求脚本按照它们出现的先后顺序执行,因此第一个延迟脚本会先于第二个延迟脚本执行,而这两个脚本会先于DOMContentLoaded事件(详见第13章)执行。在现实当中,延迟脚本并不一定会按照顺序执行,也不一定会在DOMContentLoaded事件触发前执行,因此最好只包含一个延迟脚本

    2)async

    只适用于外部脚本文件,并告诉浏览器立即下载文件,异步执行脚本解释和页面内容加载。标记为async的脚本并不保证按照指定它们的先后顺序执行

    <!DOCTYPE html>
    <html>     
    <head>     
    <title>Example HTML Page</title> 
    <script type="text/javascript" async src="example1.js"></script> <script type="text/javascript" async src="example2.js"></script>   </head>   
    <body>     
    <!-- 这里放内容 -->   
    </body> 
    </html> 

    第二个脚本文件可能会在第一个脚本文件之前执行。因此,确保两者之间互不依赖非常重要。指定async属性的目的是不让页面等待两个脚本下载和执行,从而异步加载页面其他内容。为此,建议异步脚本不要在加载期间修改DOM。

    异步脚本一定会在页面的load事件前执行,但可能会在DOMContentLoaded事件触发之前或之后执行

    3)src

    表示包含要执行代码的外部文件路径。

    4)charset

    表示通过src属性指定的代码的字符集。由于大多数浏览器会忽略它的值,因此这个属性很少有人用。

    5)language

    已废弃。原来用于表示编写代码使用的脚本语言(如JavaScript、JavaScript1.2或VBScript)

    6)type

    表示编写代码使用的脚本语言的内容类型(也称为MIME类型) 。虽然text/javascript和text/ecmascript都已经不被推荐使用,但人们一直以来使用的都还是text/javascript。这个属性并不是必需的,如果没有指定这个属性,则其默认值仍为text/javascript。

    2.<script>的两种用法

    1) 直接在页面中嵌入JavaScript代码

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

    2)引用外部JavaScript文件

    <!DOCTYPE html>
    <html>     
    <head>     
    <title>Example HTML Page</title> 
    <script type="text/javascript" async src="example1.js"></script> <script type="text/javascript" async src="example2.js"></script>   </head>   
    <body>     
    <!-- 这里放内容 -->   
    </body> 
    </html> 

    3.JavaScript的位置

    照传统的做法,所有<script>元素都应该放在页面的<head>元素中。这种做法的目的就是把所有外部文件(包括CSS文件和JavaScript文件)的引用都放在相同的地方。意味着必须等到全部JavaScript代码都被下载、解析和执行完成以后,才能开始呈现页面的内容(浏览器在遇到<body>标签时才开始呈现内容)。对于那些需要很多JavaScript代码的页面来说,这无疑会导致浏览器在呈现页面时出现明显的延迟,而延迟期间的浏览器窗口中将是一片空白。

    推荐做法:把全部JavaScript引用放在<body>元素中页面内容的后面,如下例所示:

    <!DOCTYPE html> 
    <html>   
    <head>     
    <title>Example HTML Page</title>   
    </head>   
    <body>     
    <!-- 这里放内容 -->     
    <script type="text/javascript" src="example1.js"></script>     <script type="text/javascript" src="example2.js"></script>   </body> 
    </html>

     4.<noscript>元素

    浏览器不支持脚本或者浏览器支持脚本,但脚本被禁用的情况下显示提示信息

    <html>    
    <head>     
    <title>Example HTML Page</title>     
    <script type="text/javascript" defer="defer" src="example1.js"></script>     
    <script type="text/javascript" defer="defer" src="example2.js"></script>   
    </head>   
    <body> 
    <noscript>       
    <p>本页面需要浏览器支持(启用)JavaScript。    
    </noscript>   
    </body> 
    </html>
  • 相关阅读:
    在Dictionary中使用枚举
    WCF中的可信赖会话
    C#中的结构与类
    当弱引用对象成为集合元素时
    如何打开软件从业之门?
    放心,它命硬着呢
    懒人的商品查询移动应用
    555的传说
    放松、自信和没受过欺负的脸
    才知道系列之GroupOn
  • 原文地址:https://www.cnblogs.com/lidaying5/p/14267300.html
Copyright © 2011-2022 走看看