- ActionScript 誰かが物凄い勢いで解答するスレ27
935 :Now_loading...774KB[sage]:2011/04/11(月) 12:06:11.98 ID:w4PnyLrc - JavaScript側からFlashのメソッドにアクセスしようとするとエラーが出るんですが
一体何が原因だと考えられるのでしょうか FlashからJava側のメソッドへのアクセスはできます。 教本通りのコードで書いているのですが、何か間違った部分があるのか、わからない・・・ java側のアクセス設定部分のコードは↓ですが、これはちゃんと機能しています var params = {allowscriptaccess:"always"}; ASコードは↓です。 function externalDispNickname(nickname) { var tf:TextField = new TextField(); addChild(tf); tf.width = 600; tf.text = nickname; } ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname); Security.allowDomain('*');
|
- ActionScript 誰かが物凄い勢いで解答するスレ27
936 :935[sage]:2011/04/11(月) 12:12:57.73 ID:w4PnyLrc - 使用環境はFlashPlayer10、WindowsVistaです。
ブラウザはFireFox、swfはasファイルとしてアップロードしています。 よろしくおねがいします。
|
- ActionScript 誰かが物凄い勢いで解答するスレ27
938 :935[sage]:2011/04/11(月) 12:33:01.17 ID:w4PnyLrc - FireFoxで、FireBugというデバッガーを利用しているのですが、
Error calling method on NPObject! $("#externalSwfo").get(0).externalDispNickname(); と出てくるだけで、詳細を教えてくれません、、、。
|
- ActionScript 誰かが物凄い勢いで解答するスレ27
941 :Now_loading...774KB[sage]:2011/04/11(月) 15:21:00.24 ID:w4PnyLrc - >>939
プラグインを最新のにしたところ、直りました。 ただ、もう一つ疑問がありまして、↑で記述したコードで、 引数を一切渡さないメソッドを作って、Java側から命令したところ無事に動きました。 そこで、そのメソッドに引数を追加して、Java側からString型変数を引数として渡したところ、 さきほどと同様のエラーが検出されてしまいました。 どうも引数の渡し方が間違っているようなのですが、こういうJavaとFlashを往来させる場合、 >>935で記述したメソッドのように引数の型を設定しなくても動くものなのでしょうか。 ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname); ↑この部分でも指定しているメソッド名に対して引数などを含めていないのですが、これが原因なのでしょうか、、、 教本に書いてある通りやったのに、引数の指定が間違っているとはどういうことなの・・・
|
- ActionScript 誰かが物凄い勢いで解答するスレ27
949 :Now_loading...774KB[sage]:2011/04/11(月) 17:09:52.80 ID:w4PnyLrc - >>944
はい、エラーになってしまいます。抜粋して書きますと、 [JavaScript側] nickname = "test"; externalDispNickname(nickname); ↓↓ [swf側] function externalDispNickname(nickname) { var tf:TextField = new TextField(); addChild(tf); tf.width = 600; tf.text = nickname; } ExternalInterface.addCallback("externalDispNickname", this.externalDispNickname); 引数の渡し方はそっくりこの通りです。 Java、swf双方でメソッドの引数(nickname)を消すとエラーは出ず、動いてくれるのですが・・・
|