2012-02-15 15 views
0

私が知りたいのは、私がjavascriptファイルのパラメータを取得してコードで使用することを可能にすることですか? 私は、HTMLでこれを持っている:私は私のスクリプトコードでこの「Q」パラメータを使用する方法javascriptでHTTP GET変数を読み取る方法は?

<script type="text/javascript" src="/javafile.js?q=somtext"></script> 

は知っていますか?これは可能ですか?

+0

はいそれは公表されているようです:P – IVIR3zaM

答えて

4

次のいずれかが可能です。

  1. サーバー側の言語を使用して動的にJSを生成し、
  2. は、JSはこれまでDOMの最後の<script>要素であると仮定がクエリ文字列を読み、document.scripts[document.scripts.length - 1].src
  3. を解析

script要素が動的に(つまりJSで)追加された場合、DOMの最後のスクリプトではない可能性があることに注意してください。

+0

ありがとうございます。私は火かき棒の中で、リクエストに含まれるすべてのjavascriptファイルにタイムスタンプを持つ "_"パラメータを送信することがわかりました。このパラメータは何ですか? – IVIR3zaM

+1

@ IVIR3zaM - それは標準ではありません。おそらく何かがキャッシュバスターとしてそれを追加しています。 – Quentin

0

オプション3を使用することができます。この機能を持つライブラリを使用します(例: MooTools:http://mootools.net/docs/more/Types/String.QueryString

+2

'string' - >' object'変換のためのユーティリティ関数のようです。あなたはまだ最初の値で実際のパスを取得する必要があります。 – pimvdb

1

私はQuentinの提案があなたの質問に対する答えだと思います。

あなたのJavaScriptは、ライブラリ形式で書かれていることを確認し、あなたのjavascriptのその内部でインスタンスメソッド/機能を持っていることを確認してください。

私は通常、あなたを助けるかもしれない、このために別の方法を使用しますあなたは、これはあなたが別の方法であなたのjavascriptをロードすることもできますし、クリーンなコードが可能になります

// on dom load: 
library.init({ var1: value1, var2: value2}); 

(オブジェクトとして、またはそれ以上)のパラメータを渡すことができます。

関連する問題