JavaScript高级程序设计Web前端之路

第二章:在HTML中使用javascript(学习笔记)

2017-06-04  本文已影响23人  日暮途远_

<script>元素

在HTML中使用javascript脚本的方法主要是通过HTML的<script>元素。script元素有几个属性值得说下:

<script id="partner-template" type="text/x-handlebars-template">
    {{#each list}}
    <a href="{{href}}" target="_blank" >
        ![]({{dark}})
    </a>
    {{/each}}
</script>

<script>标签的位置

做法1:

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  // 外部脚本
  <script src="https://cdn.bootcss.com/vue/2.3.3/vue.js"></script>
</head>
<body>
  <div id="app">
    <p>{{msg}}</p>
  </div>
  // 嵌入脚本
  <script>
    new Vue({
        el: '#app',
      data: function () {
        return {
            msg: 'hello, world'
        }
      }
    })
  </script>
</body>
</html>

问题:这种做法必须等到javascript脚本下载,解析和执行完之后才会渲染页面中的内容,所以会导致白屏的问题。

做法2(推荐):

<!doctype html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
  
</head>
<body>
  <div id="app">
    <p>{{msg}}</p>
  </div>
  // 外部脚本
  <script src="https://cdn.bootcss.com/vue/2.3.3/vue.js"></script>
  // 嵌入脚本
  <script>
    new Vue({
        el: '#app',
      data: function () {
        return {
            msg: 'hello, world'
        }
      }
    })
  </script>
</body>
</html>

这种不会存在白屏的问题,也是目前工作中普遍的做法。

外部脚本与嵌入脚本

javascript脚本有两种引入方式。如上,一种是通过src引入外部脚本(可以和img一样,跨域加载)。一种就是嵌入HTML中的方式。
和嵌入HTML中这种引入方式相比,通过src引入外部脚本有如下几个优势:

文档模式

IE引入了文档模式的概念,通过文档类型(doctype)切换实现。包括混杂模式,标准模式,准标准模式。这个稍微了解下就可以,现代浏览器中基本都是HTML5的文档模式,如下:

<!--html5 模式-->
<!doctype html>  
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="viewport"
        content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0">
  <meta http-equiv="X-UA-Compatible" content="ie=edge">
  <title>Document</title>
</head>
<body>
<p>hello, world</p>
</body>
</html>

引用

javascript 高级程序设计第三版

上一篇 下一篇

猜你喜欢

热点阅读