問題タブ [externalinterface]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - ExternalInterfaceを介してフラッシュするJavascript
誰かが私のコードを調べてくれるかどうか疑問に思っています。次のコードを使用して、JavaScriptからActionScript3にダミー変数を渡そうとしています。
HTML:
<object classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000"
id="music_player" width="500" height="375"
codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab">
<param name="movie" value="music_player.swf" />
<param name="quality" value="high" />
<param name="bgcolor" value="#869ca7" />
<param name="allowScriptAccess" value="always" />
<embed src="music_player.swf" quality="high" bgcolor="#869ca7"
width="500" height="375" name="music_player" align="middle"
play="true" loop="false" quality="high" allowScriptAccess="always"
type="application/x-shockwave-flash"
pluginspage="http://www.macromedia.com/go/getflashplayer">
</embed>
</object>
Javascript:
var nextTrackLocation = "dummyString";
getFlashMovie( "music_player")。jsAlert(nextTrackLocation);
およびアクションスクリプト:
ExternalInterface.addCallback( "getNextTrack"、jsAlert);
誰かが間違いを見ますか?
flash - 外部インターフェイスを使用したイメージ
外部インターフェイス(as3)で写真をフラッシュに送信する必要があります...接続がないため、URLにすることはできません...画像ファイルを開いてテキストのようにフラッシュに送信しようとしていますが、成功しません
何か案が?
ajax - 純粋な Actionscript 3 プロジェクトで、ExternalInterface クラスで Adobe の Ajax Bridge を使用する理由はありますか?
Adobe Flex で純粋な actionscript 3 アプリケーションを作成しています。アプリケーションをブラウザーでスクリプトに公開したいと考えています。Adobe の Ajax Bridge (通常、mxml を使用する Flex アプリケーションで使用されますか?) と Adobe の外部インターフェイス クラス (flash.external.ExternalInterface) の 2 つのオプションがあるようです。ExternalInterface クラスで Ajax Bridge を使用する理由はありますか?
ありがとうございました。
javascript - Cross Domain ExternalInterface「NPObject のメソッド呼び出しエラー」
ドメイン間で ExternalInterface を介して Javascript と Flash 間の通信を有効にしようとしています。Javascript は、SWF と同じドメインにある場合にうまく機能します。しかし、あるケースでは、HTML がドメイン A に存在し、javascript とフラッシュの両方がドメイン B に存在します。私は次のすべてを実行しました。
- 埋め込みタグには
allowScriptAccess="always"
(そしてオブジェクトにはそれがパラメータとして含まれています) - 私の SWF ファイルの actionscipt には
Security.allowDomain("*")
- 私の SWF も呼び出します
Security.allowInsecureDomain("*")
- ドメイン A とドメイン B の両方に
/crossdomain.xml
、allow-access-from domain="*"
SWF はページ上で JavaScript を呼び出すことができますが、Javascript を使用して ExternalInterface によって公開された関数を呼び出すと、
NPObject のメソッド呼び出しエラー! [プラグインの例外: Actionscript でエラーが発生しました。エラーを見つけるには、try/catch ブロックを使用してください。]
これは ActionScript 2 であるためExternalInterface.marshallExceptions
、使用できません。
javascript - SWFObject.js を使用しない Javascript から Flash への通信
SWFobjectやその他の追加のjavascriptファイルを使用せずに、javascriptからフラッシュへの通信が可能かどうか疑問に思っています。
現在、次のガイドを使用しています: http://www.viget.com/inspire/bi-directional-actionscript-javascript-communication
お時間をいただきありがとうございます。
javascript - Flash(AS3)からJavaScriptに配列を送信します
ExternalInterface呼び出しを使用してFlash(AS3)からJavaScriptに配列を送信することは可能ですか?
現在、Flash内の「foreach」ループから関数を複数回呼び出していますが、JavaScriptが追いつかないほど高速です。
私の考えは、属性の配列を作成し、それをJavaScript関数に渡してから、JavaScriptでループすることです。
ありがとう、ジョシュ
javascript - Flash/ActionScript3 で Exernal Interface にコールバックを追加する際の参照の問題
メソッドがあります: myMethod() {}
javascript にアクセスできるようにしたいです。少し調べてみたところ、ExernalInterface にコールバックを追加する必要があることがわかったので、次のようにしました。
フラッシュを含む Web ページをロードすると、次のエラーが表示されます。
ReferenceError: エラー #1065: 変数 myMethod が定義されていません。Main$cinit() で global$init() で
myMethod は Main クラスに含まれています... Main.as の外観は次のとおりです。
ExernalInterface.addCallback
それが存在することを理解する方法がわかりませんmyMethod
...誰にもアイデアはありますか?
ありがとう、
マット
xml - インタラクティブマップで立ち往生
それで、私はHTML / Flashハイブリッドインタラクティブマップの締め切りに間に合いました、そしてそれはどこにも完成に近づいていません。私はそれぞれの問題の解決に近づき続けていますが、さらに多くのバグを発見するだけです。あなたが作品を見るとき、それらのほとんどは非常に明白です。少なくとも大きなバグを潰したいので、どんな提案にもとても感謝しています。助けてください!
基本的に、私は2つの方法でツールチップを使用しています。[0]
従来のFlashベースのonMouseMove(正常に動作)と[1]
、HTMLリストからFlashムービーのポイントをターゲットにする方法です。ツールチップは正常に表示されますが、TweenLiteを介してマップを移動およびスケーリングするため、間違った場所にあります。onMouseOver / onMouseOutイベントにもバグがあり、onMouseOverが再びonMouseOutを起動し、_alphaが0のときにツールチップが表示されたままになります。
作品へのリンク:http://muralapts.com/test/neighborhood.php
----大きな問題#1: HTML onMouseOverが再びonMouseOutを起動し、ツールチップを効果的に「オンに戻し」ます。ツールチップが消えないときは本当にバグが多いです。エラーがないため、onMouseOverが2回起動している理由がわかりません。Flashの問題ではなく、HTMLの問題のようです。
----大きな問題#2:親クリップがTweenLiteで拡大縮小および移動されたため、ページの左側にあるHTMLリストからトリガーされたツールチップが間違った場所に表示されます。ツールチップは_rootにアタッチされていますが、いくつかのコンテナクリップ(以下に指定されていないパス)内のドットを「ターゲット」にしています。次のようなツールチップの位置を取得しようとしています。
インタラクティブマップの詳細:
XMLコンテンツは、HTMLおよびFlashマップデータ(ID、名前、リンク、宣伝文句、カテゴリ番号[アート、ショッピングなど] 、リスト番号 [カテゴリ内の番号])を動的に生成します。Magic Parserを使用して、Flashが使用しているのと同じXMLファイルからHTML出力をレンダリングします。
HTML / Javascriptは、外部インターフェイスを介してカスタムAS2マップコンポーネントと通信します
マップ最初に140%にズームインし、TweenLiteを使用して特定のポイントに移動します
FlashムービーのドットのonRollOverは、場所の名前でツールチップを表示し、ドットの色を変更します
ズームイン/ズームアウトボタンは、親クリップを_xscale + _yscaleに設定し、TweenLiteonUpdateで記録します
HTMLのリストのonMouseOverは、マップデータ付きのツールチップを示していますが、マップがTWEENLITEでズームおよび移動されているため、間違った場所に表示されます。TweenLite onUpdateを使用して、親クリップのスケール+配置値を記録します。
HTMLからドットの色を変更するとonMouseOverが機能し、onMouseOutは「スティッキー」になります(ドットは黒のままです)
XMLコード: (1つのカテゴリとリストを表示します。他にもたくさんあります)
HTMLコード:
フラッシュコード:
c# - ActionScript 3 ExternalInterface からの OS 関数呼び出し
AS3 で ExternalInterface を使用すると、XP 内で OS (C#?) 関数を呼び出すことができますか?
例: デスクトップの背景を Flash アプリから提供された画像に設定しますか?
可能であれば、別の OS に適用すると別の呼び出しになります。Mac のクロスオーバーについてはどうでしょうか。
どんな情報でもいいです
ありがとう