- ベストアンサー
外部jsファイルの変数に代入するには?
初心者ですがjavascriptについて質問です。 なんらかの値を外部ファイル内の変数に代入させることは可能なのでしょうか? うまく説明できませんが・・・ あるjsファイル内の文字をリンク先の外部jsファイル内の変数の中に入れたいです。 <例> abc.js の中にある文字列"○○○" ↓ abc.jaから <a href="xyz.js">にリンク ↓ xyz.js の中の var xxx ="○○○" に、したいのですが・・・説明が下手ですみません。 わかる方是非教えてください。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
セッションストレージに書いて読みだすのが楽 古いIEはもう気にしてはいけない //abc.html <a href="xyz.html" onclick='OC(this)'>○○○</a> <a href="xyz.html" onclick='OC(this)'>△△△</a> <a href="xyz.html" onclick='OC(this)'>□□□</a> function OC(e){ sessionStorage.xxx=e.textContent } //xyz.html addEventLisner('load',function(){ xxx=sessionStorage.xxx })
その他の回答 (2)
- yambejp
- ベストアンサー率51% (3827/7415)
>abc.htmlの中のscript(abc.js)からxyz.html内のscript(xyz.js) うーん、abc.htmlからxyz.htmlに遷移するときに 所定の変数を渡したいということでしょうか? その場合はxyz.js側でうけとるための仕組みをつくっておかないと 難しいでしょうね。 たとえば、xyz.html?x=1的な検索文字を渡すか、xyz.html#x1的なハッシュで処理された 場合に、発動する仕組みをonloadに組み込むことです。
- bugmaker
- ベストアンサー率63% (12/19)
aタグでjsにリンクを貼ってもテキストが表示されるかダウンロードされるだけです。 jsファイルの置いてある場所のドメイン名が違う場合などは通常そういうことは出来ません。 それについてはsandbox(サンドボックス)で検索してみて下さい。 もしかしてこういうことでしょうかね。 <html> <head> <script type="text/javascript" src="abc.js"></script> <script type="text/javascript" src="xyz.js"></script> </head> <body> : abc.jsに文字列"○○○"を返すfunction作ってxyz.jsから呼び出せば代入出来るはずです。
補足
回答ありがとうございます。 .jsではなく、abc.htmlの中のscript(abc.js)からxyz.html内のscript(xyz.js)です。 jsファイルの置いてある場所が違うので出来ないのでしょうか?一度sandboで検索してみます。
補足
回答ありがとうございます。なんとなくイメージが湧いてきました。 >abc.htmlからxyz.htmlに遷移するときに 所定の変数を渡したいということでしょうか? その通りです。 ちなみabc.htmlの中に複数設置したいです。遷移先は全てxyz.htmlで、渡したい文字は全て異なります。 abc.html(abc.js)に↓ <a href="xyz.html">○○○</a> (1) <a href="xyz.html">△△△</a> (2) <a href="xyz.html">□□□</a> xyz.html(xyz.js)が↓ var xxx ="○○○" ((1)をクリックした場合の結果) var xxx ="△△△" ((2) 〃) var xxx ="□□□" xyz.js(.html)だけでなく個別にjsファイルを用意すれば済むことなのですが、ファイル数がかなり多くなるので一つのファイルに渡せて、それぞれの表示結果が出せればと・・・。 わかり難い説明ですみません。 たぶん渡す側と受け取る側両方になんらかの処理が必要になるんだと思いますが処理方法がわかりません・・・。 yz.html?x=1やxyz.html#x1的な処理、onloadに組み込等、詳しく教えてもらえれば幸いです。