2011-12-23 4 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は、GoogleのCDNからjQueryの後にインポートされ見ることができるように

含める含める.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>'); 
    } 
}); 

私はそれがheadに配列scriptsの内容を追加していない理由はわかりません。私はbodysee this jsFiddle)に内容を追加してスクリプトをテストしました。

なぜそれが動作していないか、またはそれを動作させるための編集が大変感謝しています:)

+0

JSFiddleはスクリプトを追加していないので、スクリプト要素の部分を破棄しました。 – Quentin

+0

あなたはそれが動作していないことをどのように知っていますか?あなたはそれをテストするために何をしましたか? – Quentin

+0

ファイルはJSFiddle上に存在しないので、絶対パスを入れ替えていない限り、これをテストケースにするのはあまり適していません。 – Quentin

答えて

1

何か考慮する必要があります:この問題は既に解決されており、すばらしいJavaScriptライブラリが既に存在しています。それはRequire JSと呼ばれています。

独自の依存関係ローダーをローリングする前に要件を満たしているかどうか確認することを強くお勧めします。

+0

素晴らしい作品!ありがとう! – Avicinnian

0

jQueryを使用していますが、なぜ$ .getScriptを使用しないのですか? これはこの例でうまくいきます:http://jsfiddle.net/x6rCr/

関連する問題