- 締切済み
どのようにすれば・・・。
Funtion a()の値をFunction b()で使いたいのですがどのようにすればいいのでしょうか・・・? 具体的には以下のようにしたいと思っております。 HTMLを2ページ(page1、page2)と1つの外部Javascriptを使用。 page1でFunction a()で配列に数字を格納し、page2でFunction b()で処理を行う。 一番上でグローバル変数として配列を宣言し、 page1でFunction a()の処理を行い数字を配列に格納し、page2でFunction b()の処理を行おうと思いました。 しかし、page2でFunction b()を読み込むとき、グローバル変数として一番上で宣言したため、 再度宣言してしまうためか値が消えてしまい、できませんでした。 何か良い方法はありませんか・・・? よろしくお願いいたします。
- みんなの回答 (2)
- 専門家の回答
みんなの回答
- babu_baboo
- ベストアンサー率51% (268/525)
DOM Storage なんてのはどう?
- fujillin
- ベストアンサー率61% (1594/2576)
page1とpage2の関係が不明ですが、親子関係にあるなどで同じドメインなら渡したい配列を送るファンクションを用意しておいて、受け取る方がそれを呼び出せばよいのでは? 例えば、以下のようなA.htmlとB.htmlがあって、A.htmlを開くと新しくB.htmlのウィンドウが開かれ、B.htmlのスクリプトでA.htmlの配列の値(例ではa,b,c,d,e)を取得して表示します。 --------------A.html----------------- <html> <head> <script type="text/javascript"> var a = "a,b,c,d,e".split(','); window.onload = function(){ window.open("B.html", "Test");} function send() { return a; } </script> </head> <body></body> </html> --------------B.html----------------- <html> <head> <script type="text/javascript"> window.onload = function() { var i = 0, b = []; b = window.opener.send(); while (b[i]) alert(b[i++]); } </script> </head> <body></body> </html> --------------------------------- 他の方法としては、Ajaxなどでサーバを介してやりとりするとか? タイミングを管理するのが面倒そうだけど…