問題タブ [localconnection]
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.
actionscript-3 - Flash - プロジェクター ファイルと SWF ファイル間のローカル接続
昔、alpha.exe と bravo.swf という 2 つのファイルを作成しました。alpha と bravo は、ローカル接続を使用して相互に通信します。これらのファイルは、Flash MX と AS1 および Flash Player 6 を使用して作成されたもので、完全に機能しました。
現在、AS3 および Flash Player 14 で Flash CS6 を使用して、alpha と bravo の新しいバージョンを構築しています。alpha と bravo の両方を .exe (Windows プロジェクター) ファイルとして公開すると、ローカル接続は正常に機能します。alpha と bravo の両方を .swf ファイルとして公開すると、ローカル接続も正常に機能します。ただし、alpha を .exe ファイルに、bravo を .swf ファイルにすると、ローカル接続が機能しません。
誰かが理由を知っていますか?
私は現在インターネットを精査していますが、まだ正しい方向に向けるものはまだ見つかりません. また、CS6 (Flash Player と Actionscript のバージョン) で別のパブリッシュ オプションを試していますが、うまくいきません... まだ...
actionscript-3 - as3 LocalConnection 通信が、サイトが in2 ブラウザ ウィンドウで開いていると機能しなくなる
LocalConnection
ここで説明されているような、通信設定に関するフラッシュ バグを見つけたと思います。以下のサイトは私のものではありません。問題が他のサイトでも発生することを示すために使用しています。
再現方法:
http://fcontheweb.com/articles/localconnection/
2 つのブラウザー ウィンドウでサイトを開く場合は、2 つの as3 コンポーネント間でメッセージを送信する as3 の例を見つけてください。
最初のブラウザ ウィンドウでボタンをクリックします。メッセージ ボックスとローカルで通信します。次に、2 番目のブラウザ ウィンドウでボタンを押しても、何も起こりません。最初のブラウザー ウィンドウを閉じた場合、2 番目のウィンドウで作業を開始するには、ページを更新する必要があります。
これはブラウザのFlash Playerプラグインで両方のウィンドウのas3オブジェクトの名前空間が重複しており、通信路のリンクが上書きされているためだと思います。
2 つのウィンドウを再度開くことで、私の仮説を簡単に検証できますが、ここでは、LAST ウィンドウのボタンを最初に押します。そのウィンドウでは何も起こりませんが、代わりに最初のウィンドウにメッセージが表示されます! どういうわけか、最後のページのレシーバーは作成されません。その名前のレシーバーがフラッシュ プラグインのオブジェクト ストアに既に存在するためです。
これを確認できますか、さらに興味深いことに、これに対する回避策はありますか? ローカルで実行されている swf のインスタンスの数を検出し、それを接続名に使用することは可能でしょうか?
編集:観察された動作はバグではなく、意図された動作です。しかし、私の問題は依然として残っています。同じブラウザ ウィンドウ内のLocalConnection
ページが、同じシステム上の別のブラウザ ウィンドウ内の同じページとは独立して通信する方法です。
actionscript-3 - AS3 - LocalConnection が機能していないようです
LocalConnection を使用して、別々のブラウザ ウィンドウ (最初に開いたページですべて開いた) にロードされた 3 つの swfs 間の通信をセットアップしようとしています。私はインター SWF 通信が初めてで、ここにあるチュートリアルに従っています。
テストのために xampp サーバーからこれらを実行しています。
基本的に、私は3つのswfsを持っています。私は 1 つの「マスター」swf と 2 つの「スレーブ」swf を持っています。マスター SWF を起動すると、他の両方の SWF が新しいウィンドウで開きます。マスターでボタンをクリックすると、スレーブの 1 つでテキストを更新しようとしています。もっと複雑なことは後で起こります。最初に LocalConnections を理解しようとしています。
「master.swf」のコード (タイムライン上):
スレーブ1:
また、ページのサイズと位置を設定するために、各 html ページにカスタム JavaScript を少し入れましたが、それは問題ではないと思います。
通信をトリガーするはずのボタンをクリックしても、何も起こらないようです。
Windows 7 のローカルホスト xampp サーバーの IE11 でこれらの swfs を含む html ページを実行しています。CS5.5 で作成された SWFS。
actionscript-3 - SWF から AIR への通信が機能しない
ブラウザで SWF を実行し、Windows 用の exe としてバンドルされている AIR アプリケーションと通信させようとしています。
私のAIRアプリ(レシーバー)には、次のものがあります
送信者には、私が持っている Web 上の SWF
AIR アプリを実行してから SWF を実行しましたが、SWF はイベントのレベル プロパティの「エラー」を出力するだけです。私がオンラインで読んでいるものはすべて、これはうまくいくはずだと言っています。localhost と実際の Web サイトから SWF を実行しようとしましたが、どちらの方法でも同じように動作します。
actionscript-3 - AIR アプリケーションと、AIR の HTMLLoader を介してロードされた Flex アプリケーションとの間で通信するにはどうすればよいですか?
LocalConnection を使用しようとしましたが、無効な引数エラーが発生したため、この LocalConnection アプローチが正しいかどうか疑問に思っています。
空気の適用:
フレックスアプリケーション: