-
mixi アプリでflash を表示









Posted on 4 月 14th, 2009 3 commentsmixi アプリ 「ぐるなび検索」を作った時にいろいろとハマったので共有しておきます。
- flash (swfファイル) が表示されない!?
ローカルでのテストでは正常に動作していたのですが、いざmixiアプリに登録してテストしたところ flash が一切表示されず・・・。
この問題はflashの呼び出し方、mixi側に何も問題もありませんでした。
自分のホームページを持っていなかったのでアプリのxmlや、swfファイルを置く場所がなく急遽FC2で無料のホームページサービス用のアカウントを作ったのですが、結果としてFC2のサーバに置いたのがダメだったみたいです。
FC2のホームページに置いた swf ファイルをブラウザで直接アクセスすると その swf ファイルは取得できるのですが、OpenSocialコンテナ経由や、HTTP REUQESTのヘッダの内容(Acceptパラメータ?)を変えてリクエストを送信してみると、下記のレスポンスが返ってきて swf ファイルを取得できていませんでした。
———————————————————-
HTTP/1.x 302 Found
Date: Mon, 13 Apr 2009 17:23:25 GMT
Server: Apache/2.0.63 (Unix) PHP/4.4.9 mod_perl/2.0.2 Perl/v5.8.8
Location: http://error.fc2.com/web/403.html
Content-Length: 217
Connection: close
Content-Type: text/html; charset=iso-8859-1
———————————————————-深くは追っていないので原因不明なのですが、とは言っても xml, swf を置く場所が無いので、このサイトの tatsuya さんに頼んでファイルを置かせてもらいました! ありがとうございました。 この変更により mixi でも正常に flash が表示されるようになりました。
- Javascript から Flash へのアクセス
これまたローカルのテストでは正常に動作していたのですが、いざ mixi でアプリを実行してみるとうんともすんとも言わず・・・。
ネットで調べて Security.allowDomain(”*”); を ActionScript 内に追加することで回避できました。
- Javascriptを用いた外部サービス呼び出しの挙動がおかしい
これもまたまたローカルのテストでは正常に動作していたものです。
外部サーバのリソースにアクセスするために jquery の $.ajax(…) メソッドを使っているのですが、全てのリクエストにおいてエラーが発生。 リクエストは OpenSocial コンテナ経由で外部サーバにアクセスするので、OpenSocialコンテナと外部サーバで何が行われているのか一切分からずデバッグもままならず・・・。
Firebug などを使ってレスポンスを調査してみると、レスポンス自体はエラーで返ってきているのですがエラーハンドラの引数に渡される 第一引数の xmlHttpRequest 変数の responseText プロパティに正常な結果が入っていることが判明! なぜ!? 強引ですが、それを使うことにしました。
詳細は不明ですがとりあえず動作しているので今のところこのままいきます。
今回作ってみて思ったのですがローカルと実際のサーバ上での動作(当然ですが、主にクロスドメインのセキュリティー周り)があまりにも違うのでローカルで全て開発/テストを行ってからmixiに登録するよりも、ローカルでもmixi上でも並行で開発するのが一番効率が良さそうです。 かなりの手戻りが発生してしまいますので
ガジェットなどを作ったことのある方達は当然知っている内容だと思いますが、今回初めての自分は相当苦労しました・・・。 こんなことにはめげずに、どんどんサービスを公開していきます!
Trackback URL
3 responses to “mixi アプリでflash を表示”
-
tatsuya 4 月 14th, 2009 23:21
ちゃんと動作して良かったです:)
-
larynajuk…
-
uqusozudizin…
Leave a reply


