2011-12-02 4 views
1

私はアプリケーションでモジュールをロードするためにRequireJSを使用しています。 index.phpで取得したURLパラメータをメインモジュールに渡す必要があります。そこ私はこれを行うには見ることができますカップルの方法がありますが、インデックス内の唯一のものは、基本的にこのまだあった場合、私は好む:JavascriptでURLパラメータにアクセスするにはどうすればrequire.jsによって非同期に読み込まれますか?

<script type="text/javascript" data-main="scripts/main" src ="scripts/require-jquery.js"></script>

RequireJSはそれが最適化のためのより良いと言うので。私の現在の回避策は、元の呼び出しをインデックスファイルに入れ、そこからURLパラメータを使用することです。より良い方法がありますか?

参考までに、私は参考に、サーバー側でPHPを使用しています。

答えて

0

次の3つのオプションがありGETからスクリプトにパラメータを渡すには:

値を格納し、dynamiclyメインのjsファイルを編集するために$ _SESSIONを使用します。 これは途方もなく大きなオーバーヘッドになりますし、javscript経由でパラメータをretriveするためにあなたのメインモジュールにこのコードhttp://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/ を追加し、不要な共犯(もっと共犯=>より多くのバグ)

の多くを追加します。

値を設定するためにPHP($ _GETを使用)で小さなJavaスクリプトを生成します。 これは理論的には他のオプションより速いものです。

オプション2と3の間には速度に大きな違いはないので、ニーズに合ったものを選んでください。

メインモジュールが頻繁に更新される第三者コンポーネントである場合は、新しいバージョンを取得するたびにメインモジュールを変更する必要がないため、3番目のオプションを選択します。

ユーザーベースのデフォルト値を設定する場合は、データベースとユーザー設定に簡単にアクセスできるように、オプション3を使用する必要があります。

こちらがお役に立てば幸いです。

EDIT: すべてのスクリプトがロードされる前にメインモジュールにパラメータが必要ない場合は、メインモジュールの値を設定する特別なモジュールでオプション2のスクリプトを使用できます。これは更新の問題も解決します。

関連する問題