Flashのスクリプト内でJavascriptを実行する事に関して質問です。


現在、AS3でコーディングしており、AS内でJSを実行しなくてはならなくなりました。
下記のように入れているのですが、

var js:URLRequest = new URLRequest("javascript:ok('It is ok');");
navigateToURL( js, "_self" );

これがFlash上で実行されたかどうか判る方法は無いでしょうか?
たとえばFirebugのようなブラウザプラグインで、コンソールのようなところに
「It is ok」
が出力されるなど。

同じスクリプトを('It is ok')の部分を変更して多数実行するので、何が実行されたか
確認したいのです。

よろしくお願いします。

回答の条件
  • 1人2回まで
  • 登録:
  • 終了:2011/05/09 14:45:02
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

ベストアンサー

id:typista No.1

回答回数359ベストアンサー獲得回数7

ポイント60pt

javascript:ok('It is ok');

javascript:console.log('It is ok');

とすればFireBugのコンソールに'It is ok'が表示されるようになります。

http://7go.biz/moba3/archives/2007/0321210832.html

id:msukasuka

ありがとうございます!

しかし、このままでは再度書き換えを行わないと、正常にスクリプトが動きません…。

なんとかそのまま

javascript:ok('It is ok');

のままで確認できる方法はないでしょうか?

FireFoxのプラグインなどでもいいのですが。

自分では探しきれてません…。

2011/05/06 23:14:32
  • id:typista
    確認ですが、
    おそらくActionScript側で複数箇所を修正することを嫌っているのだと思うので、

    javascript:ok('It is ok');

    でいうokというのはJavascript側で独自に定義している関数ですよね?

    でしたら、そのJavascript側で

    function ok(str) {
    console.log(str);
    // 元の処理が、この行以降に存在しても問題ありません
    }

    と1行追加するのはダメでしょうか?
  • id:msukasuka
    なるほど!そんな形がありましたか!!
    ありがとうございます!やってみます!!
  • id:msukasuka
    遅くなりましたが、無事教えていただいた形で出力できました。
    ありがとうございます。
    ローカル環境で確認するのに、埋め込みパラメータのallowScriptAccessをalwaysにしなきゃいけない
    ことをすっかり忘れて少し手こずりましたが…。
    助かりました。

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません