2012-02-07 5 views

答えて

2

いいえ、それは動作しません。すべてのスクリプトがグローバル名前空間を共有しているので、あなたはloader.jsファイル内からid変数にアクセスできるようになります

<script>var id = 3;</script> 
<script src="http://site.com/js/loader.js" .... 

:あなたは、ファイルをロードする前に ちょうど変数を設定します。

もちろん、グローバルバールを使用してそれを達成するためのスタイルと影響について考える必要があります。これらの設定変数を保持するグローバルオブジェクトを使用すると、よりクリーンなアプローチになる可能性があります。

0

これは単なるjavascriptファイルの場合、ロードする前に変数を定義することができます。

<script> 
var id = 3; 
</script> 
<script src="http://site.com/js/loader.js" .... 
0

あなたの.jsのURLが静的なファイルのためのものであれば動作します。 JavaScriptを出力するサーバー側のコードを記述した場合、クエリ文字列に基づいてカスタムJavaScriptを出力できます。

これはおそらくあなたが達成しようとしているものの過剰です。

0

kですから、この質問はかなり答えられました。しかし、あなたに適しているかもしれないし、そうでないかもしれない別のアプローチがあります。条件付きでスクリプトをレンダリングする場合や、特定のIDに対して特定のスクリプトをフェッチする場合。あなただけの初めに次の行を使用し loader.js.phpではサーバーサイドスクリプト

http://site.com/js/loader.js.php?id=1 

でそれを宣言することができ

<? 
header("Content-type: text/javascript");//To declare it is a javascript file 
$id=$_REQUEST['id']; 
?> 
//Normal js continues after this 

//When you need to use the variable, just use 
var id=<?=$id?> 
関連する問題