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>
  • 相关阅读:
    SharePoint 2013 图文开发系列之自定义字段
    SharePoint 2013 图文开发系列之Visual Studio 创建母版页
    SharePoint 2013 图文开发系列之代码定义列表
    SharePoint 2013 图文开发系列之计时器任务
    SharePoint 2013 图文开发系列之应用程序页
    SharePoint 2013 图文开发系列之事件接收器
    SharePoint 2013 图文开发系列之可视化WebPart
    SharePoint 2013 图文开发系列之WebPart
    SharePoint 2013 对二进制大型对象(BLOB)进行爬网
    SharePoint 2013 状态机工作流之日常报销示例
  • 原文地址:https://www.cnblogs.com/lidaying5/p/14267300.html
Copyright © 2011-2022 走看看