美文网首页
<script>元素

<script>元素

作者: 邪人君子 | 来源:发表于2018-09-19 21:43 被阅读20次

文档对象模型(DOM)全称:Document Object Model
应用程序编程接口(API)全称:Application Programming Interface
浏览器对象模型(BOM)全称:Browser Object Model


DOM并不只是针对于JavaScript的,很多其它编程语言也都实现了DOM
DOM提供访问和操作网页内容的方法和接口
BOM可以控制浏览器显示的页面以外的部分
BOM提供与浏览器交互的方法和接口


<script>元素
<script>元素有六个可选属性,这里单讲几个常用的

  • src 属性: 表示要执行代码的外部文件
  • type 属性: 表示编写代码的脚本语言的内容类型。考虑到最大限度的浏览器兼容性,该属性的默认值为 text/javascript
  • defer 属性: 表示脚本会在页面加载完毕之后执行,注:只适用于外部脚本文件
  • acync 属性:表示立即下载脚本,但不妨碍页面中其他操作,注:只对外部文件有效

<script>使用

  • <script> 内容内代码从上而下执行,在它执行完毕之前,页面内其他内容不会被浏览器加载或显示
  • </script>出现在任何位置都会使得<script>内容结束
  • 当有多个 <script> 元素时,会按照从上往下的顺序,依次执行。引入文件也是同样的从上往下依次执行
举例:
<script type = "text/javascript">
    function(){
        alert("</script>");
    }
任何地方出现</script>都会结束,所以上面的代码会报错
    如果想要正确输出,可以加入转义字符 “\” 处理
    alert("<\/script>");

<script>引用

  • src属性 + 相对路径 如:app.js
  • src属性 + 绝对地址 如:https://www.jianshu.com/app.js。引入外部文件请保证外部文件不会失效。
  • 带有 src 属性的<script>元素最好不要在 <script> 和 </script> 之间加入任何代码,此处包含的代码会被忽略,而只会下载并执行外部脚本文件
  • 扩展名 .js 并不是必须的,最好加上以避免意料之外的错误
  • </script> 在 XHTML 也可以被省略(如下),但是在 HTML 中却不可以省略,为了稳妥起见,最好都加上
<script type = "text/javascript"  src = "app.js" />

<script>引入位置

  • 传统的做法会把所有的 <script> 元素都包含在页面的 <head> 元素中
    优点是: 统一管理,方便维护
    缺点是: 会导致页面会在加载并执行完所有 <script> 元素后才会被显示出来,这样会导致页面加载出现延迟,延迟期间页面一片空白,影响用户体验
  • 现在的做法是把 <script> 元素放在 <body> 的最底部,在页面所有内容之后引用
  • <script> 元素的 defer 属性,会将 脚本延迟到页面加载完成之后再执行:立即下载,延迟执行
    (延迟脚本最好只包含一个,理论上延迟脚本按顺序执行,现实中未必会这样)
    (defer 属性 只适用于外部脚本文件)
    (-- 最佳选择还是把延迟脚本放在页面底部 --)
<script type = "text/javascript" defer = "defer" src = "app.js"></script>
  • <script> 元素的 async 属性,异步脚本。
    只适用于外部脚本文件,告诉浏览器立即下载文件,并不是所有浏览器都支持它。
    它并不会按顺序执行,所以应该保证 不同的<script>间没有因果联系,不然会出错。
    不会阻碍页面内容显示,不会阻碍其他<script>元素加载,不会等待其他<script>元素加载完。
<script type = "text/javascript" async src = "app.js"></script>

<noscript>标签
用于不支持 JavaScript 脚本的浏览器,在支持 JavaScript 的浏览器中不会执行,不会显示
当 浏览器不支持 JavaScript 脚本时,会执行<noscript> 元素

<body>
    <noscript>
        <p> 本页面需要浏览器支持(启用)JavaScript! </p>
    </nosctipt>
</body>

相关文章

  • test

    <script>alert(1);</script>

  • 无标题文章

    <script>alert('hello’);</script>

  • <script>元素

    文档对象模型(DOM)全称:Document Object Model应用程序编程接口(API)全称:Applic...

  • <script>alert(1);</scri

    alert(1); c:\\program\MySQL.exe 百度一下

  • php 过滤<script></script&

    $line="111 asdfkjasdklfjaksdfjl;asdfkl 222"; $a=preg_repl...

  • 论<script>的位置

    放置在之间 放入 部分js代码将在页面加载完之前被载入 ...

  • DTD

    一、声明 内部DOCTYPE 外部DOCTYPE 二、XML结构 元素 属性 实体< > &...

  • JS <script>标签的位置

    按照惯例,所有 元素都应该放在页面的 元素中,例如: 这种做法的目的就是把所有外部文件(包指CSS 文件和Java...

  • <script>的6个属性

    无论如何包含代码,只要不存在defer和async,浏览器都会按照 元素在页面上出现的先后顺序对它们进行解析。 c...

  • Python基数(12) - 如何对列表元素是对象的排序

    列表元素是对象,对这样的列表排序方法 添加类方法使用lt 添加类方法使用gt 使用operator类 列表元素是对...

网友评论

      本文标题:<script>元素

      本文链接:https://www.haomeiwen.com/subject/gwhwnftx.html