close

一個Js檔案函式中呼叫另一個Js檔案函式的方法演示

 

我們知道,在html中,利用<script language=”javascript” type=”text/javascript” src=”./script.js”></script>引入的兩個js是不可以相互呼叫的。那麼該如何解決呢?當然,你可以將程式碼通通copy過來,也許你並不喜歡這樣。

例如有這樣一個html,裡面有一個按鈕,當按下時呼叫b.js檔案中的方法b()。而b()中又要呼叫a.js檔案中的方法a()。若要實現這個功能,必須注意,將要引入的Js檔案程式碼放在</body>下面。

  首先,我們在html中引入b.js,並在</body>之後加入引用語句。如下:


<html>
  <body>
   <input type="button" value="ok" onclick="javascript:b()">
  </body>
  <!--這裡引用要放在body下面-->
  <script language="JAVASCRIPT" src='b.js'></script>
  </html>


  b.js檔案如下:


new_element=document.createElement("script");
  new_element.setAttribute("type","text/javascript");
  new_element.setAttribute("src","a.js");// 在這裡引入了a.js
  document.body.appendChild(new_element);
  function b() {
   a();
  }


  在b.js檔案中前4行程式碼中我們引入了a.js檔案,並在第7行程式碼中呼叫了a.js程式碼中的a()方法。

  讓我們來分析一下關鍵的幾句程式碼:首先,我們利用document.createElement("script")生成了一個script的標籤,設定其type屬性為text/javascript,src為a.js(這裡的a.js同b.js放在同一個目錄,也可放在不同的目錄)。最後將這個標籤動態地加入body中。如此一來,我們就可以呼叫到不同js檔案中的方法了。

補充(詳解)

 

  方法一,在呼叫檔案的頂部加入下例程式碼:


document.write(”<script language=javascript src='/js/2.js'><\/script>”);


  方法二:在將下邊程式碼放入Body中:


new_element=document.createElement(”script”);
new_element.setAttribute(”type”,”text/javascript”);
new_element.setAttribute(”src”,”2.js”);
document.body.appendChild(new_element);


  我們來分析一下關鍵的幾句程式碼:


首先,我們利用document.createElement(”script”)生成了一個script的標籤,設定其 type屬性為text/javascript,src為2.js(這裡的1.js同2.js放在同一個目錄,也可放在不同的目錄)。最後將這個標籤動態 地加入body中。如此一來,我們就可以呼叫到不同js檔案中的方法了。

 

注意:<script language=”JAVASCRIPT” src=’1.js’></script>一定要放在body下面。
   因為在2.js中用到了body(document.body.appendChild(new_element);)
   如果將引如2.js的程式碼放在body上面,也就是說,
   進入頁面後,還沒有生成body就已經執行b.js裡的document.body.appendChild(new_element);了。
   這時body不存在就會拋javascript錯誤。

 

好了以上就是小編為大家整理的一個Js檔案函式中呼叫另一個Js檔案函式的方法的內容了。希望對大家的學習有所幫助,也希望大家繼續支援指令碼之家~

文章轉載https://codertw.com/%E5%89%8D%E7%AB%AF%E9%96%8B%E7%99%BC/232096/

arrow
arrow
    創作者介紹
    創作者 Johnson峰 的頭像
    Johnson峰

    Johnson峰的部落格

    Johnson峰 發表在 痞客邦 留言(0) 人氣()