require.jsによって非同期にロードされたJavaScriptのURLパラメーターにアクセスするにはどうすればよいですか?

StackOverflow https://stackoverflow.com/questions/8363646

質問

アプリケーションにモジュールをロードするためにrequirejsを使用しています。 index.phpでメインモジュールに取得するURLパラメーターを渡す必要があります。これを行う方法はいくつかありますが、インデックス内の唯一のものがまだ本質的にこれであれば、

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

requirejsは最適化の方が良いと言っているからです。私の現在の回避策は、インデックスファイルにコールを要求し、そこからURLパラメーターを使用することです。より良い方法はありますか?

参照のために、それがまったく役立つ場合、私はサーバー側でPHPを使用しています。

役に立ちましたか?

解決

スクリプトに入手するにはパラメーターを渡すには、3つのオプションがあります。

$ _Sessionを使用して値を保存し、メインJSファイルを動的に編集します。これにより、途方もなく大きなオーバーヘッドが発生し、不必要な共犯が多く追加されます(より多くの共犯=>より多くのバグ)

このコードを追加します http://www.onlineaspect.com/2009/06/10/reading-get-variables-with-javascript/ メインモジュールに Javscriptを介してパラメーターを取得します。

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

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

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

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

これが役立つことを願っています。

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

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top