Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 Warning: error_log(/data/www/wwwroot/hmttv.cn/caches/error_log.php): failed to open stream: Permission denied in /data/www/wwwroot/hmttv.cn/phpcms/libs/functions/global.func.php on line 537 一区二区三区久久,隔壁老王国产在线精品,色大18成网站www在线观看

          整合營銷服務(wù)商

          電腦端+手機(jī)端+微信端=數(shù)據(jù)同步管理

          免費(fèi)咨詢熱線:

          JavaScript代碼怎樣引入到HTML中?

          avaScript 程序不能獨(dú)立運(yùn)行,它需要被嵌入 HTML 中,然后瀏覽器才能執(zhí)行 JavaScript 代碼。通過 <script> 標(biāo)簽將 JavaScript 代碼引入到 HTML 中,有兩種方式:
          1.內(nèi)部方式
          內(nèi)部方式是通過<script>標(biāo)簽包裹JavaScript代碼,從而引入HTML頁面中,示例代碼如下:

          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 內(nèi)聯(lián)形式:通過 script 標(biāo)簽包裹 JavaScript 代碼 -->
             <script>
               alert('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
             </script>
           </body>
           </html>

          2.外部形式

          一般將 JavaScript 代碼寫在獨(dú)立的以 .js 結(jié)尾的文件中,然后通過 <script>標(biāo)簽的 <src>屬性引入,示例代碼如下:

          // demo.js
          document.write('嗨,歡迎來傳智播學(xué)習(xí)前端技術(shù)!')
          <!DOCTYPE html>
           <html>
           <head>
             <meta charset="UTF-8">
             <title>JavaScript 基礎(chǔ) - 引入方式</title>
           </head>
           <body>
             <!-- 外部形式:通過 script 的 src 屬性引入獨(dú)立的 .js 文件 -->
             <script src="demo.js"></script>
           </body>
           </html>

          注意:如果 script 標(biāo)簽使用 src 屬性引入了某 .js 文件,那么 標(biāo)簽的代碼會被忽略!!!如下代碼所示:

          ocument.write() 用法

          在JavaScript中document.write()函數(shù)可以向文檔寫入HTML表達(dá)式或JavaScript代碼,用法“document.write(exp1,exp2,exp3,....)”,該函數(shù)可接受任何多個參數(shù),并將其寫入文檔中。

          document.write() 說明

          雖然根據(jù) DOM 標(biāo)準(zhǔn),該方法只接受單個字符串作為參數(shù)。

          我們通常按照兩種的方式使用 write() 方法:一是在使用該方在文檔中輸出 HTML,另一種是在調(diào)用該方法的的窗口之外的窗口、框架中產(chǎn)生新文檔。在第二種情況中,請務(wù)必使用 close() 方法來關(guān)閉文檔。

          document.write() 實(shí)例

           <html>
           <body>
           <script type="text/javascript">
           document.write("Hello World!");
           </script>
           </body>
           </html>
            

          以上就是JavaScript document.write() 用法的詳細(xì)內(nèi)容。

          這里小編是一個有著10年工作經(jīng)驗(yàn)的前端高級工程師,關(guān)于web前端有許多的技術(shù)干貨,包括但不限于各大廠的最新面試題系列、前端項目、最新前端路線等。需要的伙伴可以私信我

          發(fā)送【前端資料】

          就可以獲取領(lǐng)取地址,免費(fèi)送給大家。對于學(xué)習(xí)web前端有任何問題(學(xué)習(xí)方法,學(xué)習(xí)效率,如何就業(yè))都可以問我。希望你也能憑自己的努力,成為下一個優(yōu)秀的程序員

          了執(zhí)行Javascript,需要在HTML文件內(nèi)以特定的方式書寫JavaScript的代碼,JavaScript的書寫方法有多種,其執(zhí)行的流程也各不相同:

          1 <script>標(biāo)簽嵌入

          此種嵌入方法無法操作<script>之后的DOM元素。因?yàn)?lt;script>之后的DOM元素還未構(gòu)造,因此在<script>標(biāo)簽內(nèi)就無法取得位于其后的DOM元素。

          2 讀取外部JavaScript文件

          此種嵌入方法可以指定defer、async屬性。defer可以推遲執(zhí)行,async可以異步執(zhí)行。

          3 onload嵌入

          此種嵌入方法在頁面讀取完后再對其執(zhí)行,所以可以對所有的DOM元素操作。

          <body onload="alert('hello')">
          window.onload = function(){alert('hello');};

          當(dāng)window.onload事件觸發(fā)時,頁面上所有的DOM、樣式表、腳本、圖片、flash都已經(jīng)加載完成了。

          //window.onload不能同時編寫多個。
          //以下代碼無法正確執(zhí)行,結(jié)果只輸出第二個。
          window.onload = function(){
            alert("test1");
          };
          
          window.onload = function(){
            alert("test2");
          };
          
          //$(document).ready()能同時編寫多個
          //結(jié)果兩次都輸出
          $(document).ready(function(){ 
             alert("Hello World"); 
          }); 
          $(document).ready(function(){ 
             alert("Hello again"); 
          }); 

          window.onload和body中onload也有些許區(qū)別:

          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <title></title>
              <script type="text/javascript" src="http://code.jquery.com/jquery-1.9.0.js"></script>
              <script language="javascript">
                  window.onload = haha;
                  function haha(){console.log("window.onload");}
          
                  if(document.addEventListener){
                      function DOMContentLoaded(){
                          console.log("DOMContentLoaded");
                      }
                      document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
                  }</script>
          </head>
          <body onload="console.log('bodyonload');">
                  <div id="div1">a</div>
          </body>
          </html>

          在IE10和FireFox下,結(jié)果為 :

          "DOMContentLoaded"
          "bodyonload"

          說明body中的onload會覆蓋window.onload

          在chrome下,結(jié)果為:

          DOMContentLoaded
          window.onload
          bodyonload

          然后,如果把javascript代碼移到最下面,結(jié)果又會是什么樣呢?

          chrome和IE10、FireFox的結(jié)果竟然是一樣的:

          DOMContentLoaded
          window.onload

          IE 10、Fire Fox可以理解,window.on load和body中的 on load 誰在下面就是誰覆蓋誰,只會執(zhí)行后面的那個。

          4 DOM ContentLoaded嵌入

          onload方法可能需要等待時間,而本方法可以在完成HTML解析后發(fā)生的事件,減少等待時間。

          在chrome、IE10和FireFox中,執(zhí)行結(jié)果是:DOMContentLoaded然后才是onload的輸出。所以說一般情況下,DOMContentLoaded事件要在window.onload之前執(zhí)行,當(dāng)DOM樹構(gòu)建完成的時候就會執(zhí)行DOMContentLoaded事件。

          <html xmlns="http://www.w3.org/1999/xhtml">
          <head>
              <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
              <title></title>
              <script type="text/javascript" src="jquery2.js"></script>
              <script language="javascript">
                  window.onload = haha;
                  function haha(){console.log(document.getElementById("div1"));}
                  if(document.addEventListener){
                      function DOMContentLoaded(){
                          console.log("DOMContentLoaded");
                      }
                      document.addEventListener( "DOMContentLoaded", DOMContentLoaded, false );
                  }
              </script>
          </head>
          <body>
              <div id="div1">a</div>
          </body>
          </html>

          如果你是個jQuery使用者,你可能會經(jīng)常使用$(document).ready();或者$(function(){}),這都是使用了DOMContentLoaded事件

          5 動態(tài)載入JavaScript文件

          5.1 使用原生js方法

          動態(tài)創(chuàng)建script標(biāo)簽,并指定script的src屬性

          function loadJs(url, callback) {
              var script = document.createElement('script');
              script.type = "text/javascript";
              if (typeof(callback) != "undefined") {
                  if (script.readyState) {
                      script.onreadystatechange = function() {
                          if (script.readyState == "loaded" || script.readyState == "complete") {
                              script.onreadystatechange = null;
                              callback();
                          }
                      }
                  } else {
                      script.onload = function() {
                          callback();
                      }
                  }
              }
              script.src = url;
              document.body.appendChild(script);
          }
          loadJs("test.js", function() {
              alert('done');
          });

          還可以使用同樣的原理動態(tài)加載css文件,只不過插入的的父節(jié)點(diǎn)是head標(biāo)簽。

          5.2 使用document.write/writeln()方式

          該種方式可以實(shí)現(xiàn)js文件的動態(tài)加載,原理就是在重寫文檔流,這種方式會導(dǎo)致整個頁面重繪。

          document.writeln("<script src=\"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js\"></script>");

          需要注意的是特殊字符的轉(zhuǎn)義。

          5.3 使用jQuery

          使用getScript(url,callback)方法實(shí)現(xiàn)動態(tài)加載js文件

          $.getScript('test.js',function(){
              alert('done');
          });

          -End-


          主站蜘蛛池模板: 国产亚洲一区二区三区在线不卡| 国产在线精品一区二区三区直播| 亚洲av午夜精品一区二区三区| 夜夜添无码试看一区二区三区| 亚洲一区二区三区亚瑟| 久久无码精品一区二区三区| 中文字幕无码不卡一区二区三区 | 亚洲欧美国产国产综合一区| 成人影片一区免费观看| 精品一区二区三区四区电影| 亚洲AV成人一区二区三区观看| 任你躁国语自产一区在| 日韩人妻无码一区二区三区久久| 夜色阁亚洲一区二区三区| 学生妹亚洲一区二区| 国产成人精品日本亚洲专一区| 久久综合九九亚洲一区| 久久综合九九亚洲一区| 老熟女五十路乱子交尾中出一区| 国产精品无码一区二区三级| 精品一区二区久久| 亚洲国产精品一区二区成人片国内 | 亚洲免费一区二区| 国产91精品一区| 精品视频午夜一区二区| 亚洲AV无码一区二三区| 一区二区三区视频免费观看| 本免费AV无码专区一区| 国内精品无码一区二区三区| 国产精久久一区二区三区| 春暖花开亚洲性无区一区二区 | 精品人妻无码一区二区色欲产成人 | 无码日韩精品一区二区免费暖暖| 国产在线一区二区综合免费视频 | 色狠狠一区二区三区香蕉蜜桃| 色综合视频一区二区三区 | 国产a久久精品一区二区三区| 精品国产免费观看一区 | 日韩人妻无码一区二区三区久久| 日韩精品一区二区三区四区| 色偷偷av一区二区三区|