Flash MXを使用している初心者です。
a.htmlに貼り付けたa.swfのボタンから
b.htmlに貼り付けたb.swfの中に
変数を渡したいと思っています。
◆GET送信では、a.swfのボタンに
on (release) {
System.useCodepage = true;
var my_lv = new LoadVars();
my_lv.sws = name1_txt.text;
my_lv.send("b.html", "_top", "GET");
}
と書き込み、
b.html部分には
以下のJavaScriptを書き込みました。
<script type="text/javascript">
var mydata = location.href.split("?")[1];
document.write('<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="550" height="400">');
document.write('<param name="movie" value="b.swf" />');
document.write('<param name="FlashVars" value="'+mydata+'" />');
document.write('<embed src="b.swf" FlashVars="'+mydata+'" width="550" height="400" type="application/x-shockwave-flash" />');
document.write('</object>');
</script>
以上の方法でGET送信のswf受け取りは成功したのですが、
POST送信のswf受け取り方法がわかりません。
POST送信までは、成功しているようなんですが、
その変数をswfに表示するには、どうすればいいでしょうか・・・?
また、ローカルで確認可能でしょうか・・・?
PHPやcgiがわからないので、
それらを使わない方法で、ご教授いただきたく、
よろしくお願いいたします。。
No.1
- 回答日時:
GET や POST ではなく SharedObject 経由 ではダメでしょうか?
SharedObject は MX でギリギリ使用できます。
他の コミュニティ の URL ですが。
[22013] チェックボックスのon、offの結果表示
http://www.gac.jp/article/index.php?stats=questi …
↑本題の手作りチェックボックスはあまり関係ありません。
この回答への補足
早朝にもかかわらず、ご教授ありがとうございます。。
SharedObjectですか・・・・
教えていただいたURLを拝見しましたが、
なかなか理解するのに難しそうでした。
でも、時間のあるときにじっくり試してみたいと思います。
ありがとうございます。
本件は依頼者に「POST送信で」と依頼されています。
Flash間のみのPOST送信(swf表示)は不可能なんでしょうか?
どんなに検索しても、hitしないんですが・・・。
不可能とわかれば、きっぱりあきらめて、
別の方法に方向転換できるのですが・・・。。
どんなヒントでもいいので、教えていただけるとありがたいです。
よろしくお願いいたします。
No.2ベストアンサー
- 回答日時:
#1です。
> Flash間のみのPOST送信(swf表示)は不可能なんでしょうか?
はい?
ご質問内容とずれてますよ。
混乱しているか、話を変えたかしてませんか?
複数(2つ)SWF は 複数(2つ)HTML に貼ってあるのでしょう?
だから、HTML に値を送ってHTMLを開かねばなりませんよね。
したがって、ご質問に書かれていらっしゃるように、
JavaScript を経由しなければ、受信側にデータが届きません。
SWF→ブラウザ→HTML→JavaScript→SWF
わかりますか?
他の物を経由する以上、そこで送受信が行われるわけです。
ぜんぜん、「Flash間のみのPOST送信」 ではありません。
問題は JavaScript と言うことになります。
ですから、 JavaScript で POST が受信できるかどうかと言うのが問題です。
JavaScript の専門ではないのでわかりませんが、
そもそもそういうことはできないのではないかと思います。
QNo.2517418 受信データ取得
http://okwave.jp/qa2517418.html
JavaScript で POST 受信できなければ、Flash に届きようがないので POST 受信などできません。
それ以前になぜ、
ブラウザ経由で 自分自信→自分自身 で POST 送信しなければならないのか、
根本的にわかりませんが。
======================
> Flash間のみのPOST送信
を、今実際にサーバにアップして初めてやってみました。
普通はこんなことしません。
10年くらいFlashに携わっていますが、
したことも、しようと思ったこともありませんでした。
また、そのような質問にも初めて出会いました。
任意のフォルダ
├ a.html
├ a.swf
└ b.swf
「b.swf」 内 _root のフレーム1には、
「my_data」 という "変数名" のダイナミックテキストを用意しておきます。
「a.swf」 内 _root のフレーム1には、
「_btn」 という インスタンス名 のボタンを用意しておきます。
そして、そのフレーム1に次のように書きます。
---------------------------------
my_data = "abcdefg";
_btn.onRelease = function() {
getURL("b.swf", "_self", "POST");
};
---------------------------------
わかりますですしょうか。
これだと、 「Flash間のみのPOST送信」 になるのです(成功すればですが)。
間に HTML は介しません。
上の 3ファイル をサーバ上にアップして動作確認。
結果
↓
[i] ページを表示できません
でした。
つまり、
送られないどころか、そんな SWF は存在しないことになってしまいました。
---------------------------------
my_data = "abcdefg";
_btn.onRelease = function() {
getURL("b.swf", "_self", "GET");
};
---------------------------------
と書いた場合は、
「b.swf」 に [abcdefg] が表示されました。
2つのサーバで検証しましたが同じ結果だったので、
おそらくどこでやっても同じだと思います。
===================
Flash どうしは、普通、loadMovie ですから、
ファイル内データのやりとりです。
別ファイルでありながらムービークリップ間ということになります。
そんなとこでは当然、GET も POST も存在しません。
非常に変わった場合が、
#1 で書きました SharedObject(要は Cookie みたいなものですよ)です。
もう1つが、
2窓同時開きの SWF 間通信、LocalConnection です。
「LocalConnection」
http://www.google.co.jp/search?hl=ja&q=LocalConn …
> 本件は依頼者に「POST送信で」と依頼されています。
「ローカル間の通信に、GET や POST のようなサーバ通信のようなものを出さないでくれ~(笑)。」 です。
大変丁寧でわかりやすいご回答をありがとうございました!!
お尋ねしたかったことは、おっしゃるとおり、
SWF→ブラウザ→HTML→JavaScript→SWFでの
POST送信によるSWF受け取りでした。
(送信元のSWFから受信元のSWFへというつもりで、
FLASH間のみのPOST送信と書いてしまいました。すみません。。)
>JavaScript で POST 受信できなければ、Flash に届きようがないので POST 受信などできません。
という1言で、迷宮からきっぱり脱出することができ、
方向転換することができました。
(結局、PHPやcgiのわかる人に入ってもらうことになりました。)
>今実際にサーバにアップして初めてやってみました。
普通はこんなことしません。
・・・ということまで実験していただき、ありがとうございました。
順を追って理解が深まり、納得することができました。
また教えていただいた「LocalConnection」が、
今後使えそうなので、勉強してみたいと思います。
大変勉強になりました。
本当に、ありがとうございました。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- JavaScript ①入力フォーム→②確認表示画面→③送信完了画面のコードを書いているのです、 入力フォームから受け取っ 2 2022/05/10 16:45
- CGI perlで書いたcgiでsqliteの使い方を教えてください 2 2023/05/08 21:29
- JavaScript 1日1回引けるJavaScriptおみくじについて 1 2022/12/12 22:28
- JavaScript 入力フォームの javascript で メールアドレスの正規チェックをを行い、ボタンをクリックして 2 2022/04/27 16:06
- HTML・CSS ボタンをクリックした時に、入力フォームのすぐ下部に、「入力欄が空白です」というテキストメッセージが表 1 2022/04/27 16:25
- PHP ここでの ②if($su_d<>"")の比較演算子 を使う理由は 1 2022/03/26 02:33
- JavaScript 画像の表示位置 3 2022/12/23 08:25
- JavaScript jQueryでのドラッグアンドドロップについて 1 2022/07/07 21:04
- JavaScript jqueryを使ったスムーススクロールのコードを書いたのですが、HTMLコード内にある、a butt 2 2022/04/14 10:59
- PHP htmlspecialcharsが機能していないです。 バグですか? 1 2022/04/05 01:22
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
HTMLからFLASHへデータを送る
-
Googleマップに保存した地点が...
-
サポートされたファイル形式お...
-
SH-02 着うたを作成したい
-
PC内で速度を遅くした音源をCD...
-
2枚、マイクロSDカードを入...
-
【VBA】マクロの入ったファイル...
-
ガラケーからPCへの写真の取り込み
-
A4の紙に印刷されている文字を...
-
VB2010で全画面で動画をランダ...
-
RaspberryPi にUSBメモリを接続...
-
ITパスポートの一環で質問です...
-
個別に違う添付ファイルを付け...
-
ビデオファイルのプロパティの...
-
TextBoxにフォーカスを与えると...
-
エアコンの冷媒 R410Aの重...
-
WebBrowserにHTMLテキストを読...
-
exeファイルをWeb上で見せる方法
-
Access2016のExcelインポートの...
-
スマホでtxtファイルを編集する...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
[FLASH] flashvarsについて教え...
-
PDFファイルの倍率を変えて保存...
-
サポートされたファイル形式お...
-
Googleマップに保存した地点が...
-
【VBA】マクロの入ったファイル...
-
個別に違う添付ファイルを付け...
-
e-taxで送信ファイルの拡張子が...
-
エクセルで「特定の文字を含む...
-
スマホでtxtファイルを編集する...
-
複数のブックを新しいブックのS...
-
A4の紙に印刷されている文字を...
-
iPhoneの内蔵の記憶媒体は、HDD...
-
ビデオファイルのプロパティの...
-
エアコンの冷媒 R410Aの重...
-
ガラケーからPCへの写真の取り込み
-
拡張子「.IDJ」を、windo...
-
Fortniteのクラッシュについて
-
2枚、マイクロSDカードを入...
-
ITパスポートの一環で質問です...
-
VBA:カウンターの i の値が開放...
おすすめ情報