-5

ある .js から別の .js ファイルに文字列を渡すことは可能ですか? たとえば、main.html には javascript が含まれています。実行時に javascript ファイルをロードする別の HTML ファイルに main.html から文字列を渡す必要があります。これは可能ですか?

4

3 に答える 3

3

完全に新しいページ (page1.html) をロードしている場合、変数を 1 つの JS ファイルから別の JS ファイルに直接渡すことはできません (両方の html ページにまったく同じ JS ファイルをロードしていた場合も同様です)。

でも、ひもをクッキーにくっつけてみませんか?必要なブラウザによっては、localStorage/SessionStorage を選択することもできます。最後になりましたが、リクエスト URL (page1.html?mystring=foo) で変数を渡し、Javascript 経由でアクセスするオプションが常にあります。

于 2012-08-18T01:03:00.670 に答える
2

次のページへのリンクの href を変更して、クエリ文字列を追加できます。そこから、JavaScript は使用されている URL を取得し、渡す値を解析して、必要な値で初期化することができます。

通常、これはwindow.locationを参照することで実行できますが、要素を追加して、新しいページへの URL をhttp://wwww.yourdomain.com/page2.html?query_parameter=your_desired_stringのようにすることもできます。私の経験では、クエリ文字列パラメーターと同じ名前の入力フィールドがあれば自動入力されます。そこから、2 ページ目の JavaScript は非表示の入力要素から値を取得して、あるページから次のページに取得する文字列を取得できます。

+ 記号を使用すると、問題が発生する可能性があります。一部のブラウザーでは、URL に遭遇したときに + をスペースとして解釈するのを見てきました。クエリ文字列で必要な文字列を送信する前に、 + をエスケープして実際の + を取得する必要があります。

于 2012-08-18T01:14:32.857 に答える
0

値をCookieに入れ、その値を参照して、2番目のJavaScriptファイルの文字列を初期化します。

于 2012-08-18T02:58:23.100 に答える