dポイントプレゼントキャンペーン実施中!

初心者ですがjavascriptについて質問です。
なんらかの値を外部ファイル内の変数に代入させることは可能なのでしょうか?

うまく説明できませんが・・・
あるjsファイル内の文字をリンク先の外部jsファイル内の変数の中に入れたいです。


<例>
abc.js の中にある文字列"○○○"

abc.jaから <a href="xyz.js">にリンク

xyz.js の中の var xxx ="○○○"


に、したいのですが・・・説明が下手ですみません。
わかる方是非教えてください。

A 回答 (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
})
    • good
    • 1

>abc.htmlの中のscript(abc.js)からxyz.html内のscript(xyz.js)



うーん、abc.htmlからxyz.htmlに遷移するときに
所定の変数を渡したいということでしょうか?

その場合はxyz.js側でうけとるための仕組みをつくっておかないと
難しいでしょうね。
たとえば、xyz.html?x=1的な検索文字を渡すか、xyz.html#x1的なハッシュで処理された
場合に、発動する仕組みをonloadに組み込むことです。

この回答への補足

回答ありがとうございます。なんとなくイメージが湧いてきました。

>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に組み込等、詳しく教えてもらえれば幸いです。

補足日時:2013/04/12 17:52
    • good
    • 0

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で検索してみます。

補足日時:2013/04/12 10:46
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!