私の古い大学は、このファンシーなペーパードールをフラッシュで作成しました。これを Web ページに埋め込む必要があります。帽子、シャツ、靴などでペーパードールをドレスアップできます。ペーパードールの
横にあるアイテムが選択されるたびに、FlashVars パラメータが更新されます。
たとえば、「帽子」が押されると、FlashVars に次のことが起こります。
hat0shoe0... ----> hat1shoe0...
そして、帽子がペーパードールに表示されます。
その FlashVars を取得する方法はありますか? だから私はそれをサーバーサイドで使うことができますか?
ファンシーなJS / jqueryの代わりに、どうにかしてFormCollectionにアタッチできればと思い
ます:)事前に感謝します:)
1 に答える
1
アクションスクリプト 3
Actionscript 3 でフラッシュ変数を取得するには、次のようなことができます: (テストされていないコード)
var myFlashVars:Object = LoaderInfo(this.root.loaderInfo).parameters;
//To get boolean (true/false) values
var hat:Boolean = String(myFlashVars["hat"]) == "1" ? true : false;
var shoe:Boolean = String(myFlashVars["shoe"]) == "1" ? true : false;
//or, To get strings ("0"/"1")
var hatStr:String = String(myFlashVars["hat"]);
var shoeStr:String = String(myFlashVars["shoe"]);
Flash/Actionscript 3 経由でサーバーにデータを送信するには、URLLoader + URLRequest を使用できます。
var request:URLRequest = new URLRequest("http://yoursite.com/yourpage.php");
request.data = "hat=" + hatStr + "&shoe=" + shoeStr; //
var loader:URLLoader = new URLLoader();
loader.dataFormat = URLLoaderDataFormat.VARIABLES;
loader.addEventListener(Event.COMPLETE, callWasMade);
loader.addEventListener(IOErrorEvent.IO_ERROR, callFailedIOError);
loader.load(request);
function callWasMade(evt:Event):void{
//Data sent, if needed you can check server response via evt.target.data
}
function callFailedIOError(evt:IOErrorEvent):void {
//Holy crap I can't reach my server!
}
JavaScript
JavaScript 経由で FlashVars にアクセスしたい場合、および以下を使用している場合:
swfobject.embedSWF(swfUrlStr,,,,,, **flashvarsObj**,,,)
ここのドキュメントで定義されているように
定義した flashvarsObj を渡して、単純にサーバーに ajax 呼び出しを行ってみませんか。jQuery を使用すると、一般的な考え方は次のようになります。
$.ajax({
url: "yourserverpage.php",
data: flashvarsObj,
})
于 2012-02-28T15:31:39.013 に答える