2014-02-11 85 views
0

我想在我的index.html頁面中包含一個本地.js文件,該文件基於'if'語句的結果,如以下示例代碼中所述。我需要將.js內容包含在頁面的初始加載中,因爲內容將在加載時顯示在html中。如何在頁面加載之前動態包含JavaScript文件

的index.html:

<html> 
    <head> 
    <script src="script.js"></script> 
    </head> 
<body> 
    <script> 
     include_another_script(); 
    </script> 
</body> 
</html> 

的script.js:

include_another_script function(){ 
    var url; 
    if(//some stuff){ 
     url = "script1.js"; 
    } else { 
     url = "script2.js"; 
    } 

    document.write("<script src=url></script>"); 
} 

回答

1

試試這個

<head> 
<script type="text/javascript"> 

var url; 
if(blah == blah){ 
url = 'myUrl.js'; 
}else{ 
url = 'myOtherUrl.js'; 
} 

var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; 
po.src = url; 
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); 

</script> 
</head> 
+0

Ooops,當我編寫示例代碼時,我很sl。。是的,我已經在我的工作版本中完成了這項工作。仍然不能解決我的問題:( – p1xelarchitect

+0

@ p1xelarchitect在這種情況下,你可以展示一個更完整的示例?我沒有看到任何理由,它不起作用。 –

+0

我編輯我的答案......這將工作 – VIDesignz

0

如果您需要的腳本之前加載文件加載,你需要t o在文檔的head部分中包含條件腳本。

你可以做這樣的事情:

<head> 
    <script src="script.js"></script> 
    <script type="text/javascript"> 
     function include_another_script(){ 
      var url; 
      if(//some stuff){ 
       url = "script1.js"; 
      } else { 
       url = "script2.js"; 
      } 
      $('head').append('<script type="text/javascript" src="'+url+'"></script>'); 
     } 
    </script> 
</head> 

注意,你的函數聲明是錯誤的:

include_another_script function() { 
+0

爲什麼它需要在? –

+1

@KevinB他說:「我需要將.js內容包含在頁面的初始加載中,因爲內容將在加載時顯示在html本身中」。把他們放在頭上確保他們會。 –

+0

由於OP要求在文檔 – VIDesignz

0

試試這個,src的路徑要加載腳本。
var script = document.createElement('script');
script.src = src;
document.head.appendChild(script);

相關問題