2011-12-23 67 views
0

我正在嘗試創建一個主要的js控制器,其中包含我的應用程序所需的所有js文件,以使所有內容儘可能結構化。用jQuery附加<head> - 似乎不起作用?

我想這會工作,但它似乎並不附加任何東西head

HTML:

<head> 
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
<link rel="stylesheet" type="text/css" href="../static/css/main.css" /> 
<link rel="stylesheet" type="text/css" href="../static/css/sub/navbar.css" /> 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script> 
<script type="text/javascript" src="../static/js/includes.js"></script> 
<title>Untitled Document</title> 
</head> 

正如你可以看到includes.js是jQuery的後進口來自谷歌的CDN

includes.js的內容:

var scripts = ['../static/js/functions/notifications.js', '../static/js/functions/subnavbar.js']; 
$(document).ready(function() { 
    var iterate = scripts.length; 
    for(i = 0; i < iterate; i++) { 
     $('head').append('<script type="text/javascript" src="' + scripts[i] + '"></script>'); 
    } 
}); 

我不知道爲什麼它不追加數組scripts的內容head。我通過將內容附加到bodysee this jsFiddle)測試了腳本。

任何答案,爲什麼它不工作,或編輯,使其工作將不勝感激:)!

+0

JSFiddle不會追加腳本,您已拋棄腳本元素部分。 – Quentin 2011-12-23 16:27:23

+0

你怎麼知道它不工作?你做了什麼來測試它? – Quentin 2011-12-23 16:27:38

+0

由於JSFiddle中不存在這些文件,因此它不是一個爲此構建測試用例的好地方(除非您切換絕對URI)。 – Quentin 2011-12-23 16:28:06

回答

1

需要考慮的事情:這個問題已經爲您解決了,而且一個很棒的JavaScript庫已經存在。它叫做Require JS

我強烈建議在滾動自己的依賴加載器之前檢查它是否能滿足您的需求。

+0

出色地工作!謝謝! – Avicinnian 2011-12-23 16:57:42