問題タブ [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 - IEでExternalInterfaceが機能しない
JavaScriptからフラッシュオブジェクトのアクションを呼び出そうとしています:
なので:
js:
と
swfobjectを使用してフラッシュを含めています:
ここでクレイジーなことは何もありません。したがって、このコードはすべてで正常に機能しますが、Internet Explorerでは機能しません(驚くべきことに:\)。ムービーオブジェクトを正しく取得していますが、externalinterface関数を呼び出すことができません。プロパティが定義されていないということです。
私はグーグルとSOを調べましたが成功しませんでした...どんな助けもいただければ幸いです!
ruby-on-rails - 外部デバイスとデータベースの間でデータを同期する方法は?
私が設計しているアプリケーションでは、デバイスと通信し、データ読み取りの履歴をデータベースに保存する必要があります。このデバイスは本質的に、シリアル ポート経由で数値を吐き出すセンサーです。アプリケーションのユーザー側は、ユーザーがこのデータを表示してデバイスを構成できるようにする RubyOnRails インターフェイスです。
この種のセットアップに推奨できるデータベースとデバイス間の接続の種類を知りたいです。
ここまでは、MySQL データベースへのブリッジとして機能するホスト コンピューター (デバイスがシリアル ポート経由で直接接続されているコンピューター) でカスタム アプリケーションを実行していました。アプリケーションは MySQL データベースに直接接続し、クエリを実行します。かなりうまく機能しますが、これが最善の解決策であるかどうかはわかりません。
他の唯一の方法は、データベースに直接アクセスするのではなく、カスタム アプリケーションが接続できる中間アプリケーションを用意することです。これは、メイン アプリケーションの一部である場合もあれば、別のものである場合もあります。これはより良い解決策でしょうか?
別のアプローチをお勧めしますか?
ありがとうございました、
apache-flex - ExternalInterface.call("window.location.host.toString")
このコードを使用して、ブラウザーからホスト文字列を取得するフレックス アプリケーションを作成しました。
このコード行は、Firefox と Opera の両方でホスト文字列を取得するために完全に機能します。ただし、IE を使用する場合、返される文字列は常に「null」です。そのような情報をブラウザから取得する必要があります。そのような文字列を取得する JavaScript 関数を定義し、アプリケーションからその関数を呼び出すことで回避策があることを私は知っています。ただし、私のアプリケーションでは、ネイティブ ソースからそのような情報を取得する必要があります。
誰かが同じ問題を抱えていてそれを解決できたのか、または IE で常に null になる理由を誰かが知っているのに、Firefox と Opera を使用しているときにそうではないのかと思っていました。
編集1:
生成された SWF ファイルを埋め込むための HTML コードを次に示します。たぶん、これは間違いを見つけるのに役立ちます
id、classid、allowScriptAccess は次のように設定されています。
何か案が?
編集2:
for Lior Cohen Flex ファイルは、最初のリンクで使用されている例です。サブディレクトリ history には、history.js、history.css、および historyFrame.html が含まれています。生成された SWF ファイルを含む HTML ページは次のようになります。
ただし、これはまだ期待どおりに機能していません。
編集3:
問題を発見しましたが、修正できません。この問題は、ExternalInterface や object および embedded HTML タグではなく、IE の JavaScript エンジンに関係しています。
私の場合、JavaScriptを使用して作成されたdivにオブジェクトと埋め込みタグを書き込み、DOMメソッドを使用してこのdivをボディの最後に追加します。ただし、このようなアプローチにより、InternalInterface は常に IE で null を返します (ただし、Firefox や Opera ではそうではありません)。
document.write を使用して HTML コンテンツを追加しようとしたため、IE で完全に機能しましたが、document.write はページ全体に書き込み (古いコンテンツを削除) しましたが、これは望ましくありません。
これを修正する方法はありますか?
ありがとう
apache-flex - ブラウザのツールバーなしで Flex からポップアップを作成するにはどうすればよいですか?
Flex からポップアップ ウィンドウを起動しようとしていますが、通常は JavaScript の window.open で指定できるため、ポップアップ ウィンドウには特定のプロパティが必要です。たとえば、ポップアップ ウィンドウにはブラウザのツールバーや URL ボックスを含めないでください。
私は正常に動作する navigateToURL を使用してみましたが、ポップアップ ウィンドウのプロパティを指定する方法が見つかりません。
ExternalInterface.call を使用してみましたが、window.open を直接呼び出すか、window.open を呼び出すカスタム JS 関数を作成すると、ポップアップがブロックされます。
ヘルプ!
ありがとう!
javascript - ActionScript の ExternalInterface コールバック関数が機能しません。どうすればデバッグできますか?
助けてください?私のコールバック関数が呼び出されていないようです...戻ってきました。私は jQuery と Flash 8 を使用しています。Flash オブジェクトにアクセスするには、jquery swfobject プラグイン cf ( http://jquery.thewikies.com/swfobject/examples ) を使用しています。そもそも SWF に適切にアクセスしていないと思われる場合は、どのようにすればよいかを示すコードを教えてください。ありがとう!
JavaScript コード:
フラッシュコード:
javascript - Google Chrome で ExternalInterface 公開メソッドにアクセスする際の問題
私の単純な ActionScript JavaScript が Flash オブジェクトのメソッドを呼び出せるように、 Flash のExternalInterfaceを使用してコールバックを設定しようとしています。Safari、Firefox、および IE ではすべて正常に動作しますが、Chrome を動作させることができません。Chrome でコードを試すと、次のエラーが表示されます。
キャッチされていない TypeError: オブジェクト #<an HTMLObjectElement> にはメソッド 'setText' がありません
これが私が使用している HTML の例です (ここでも、Safari、FF、および IE で正常に動作します)。
ここにActionScriptがあります...
jquery - .swf が jQuery によって参照されている場合、Actionscript 関数を呼び出すにはどうすればよいですか?
jQuery SWF Object プラグイン ( http://jquery.thewikies.com/swfobject )を使用して HTML に埋め込んでいる .swf があります。javascript 関数内から呼び出す必要がある .swf 内に多数の関数があります。flash.external.ExternalInterface.addCallback() を呼び出して、これらの actionscript 関数を JavaScript からアクセスできるようにしました。しかし、私が電話をかけても何も起こりません。以前にこれが発生したことがありますが、jQuery から .swf を参照すると、フラッシュ関数を呼び出すことができないようです。とにかくこれについてはありますか(jQueryを使用しないことを除いて)?
ありがとう。
javascript - ExternalInterface と IE を使用して JavaScript から Flash で現在の URL を取得する
Flash Player がオンになっている現在の URL を取得しようとしています。.swf ファイルの URL ではなく、ブラウザが指している URL です。これまで私は使用してきました:
残念ながら、これは IE では機能しません。私の調査によると、どちらの方法でも IE では機能しないことがわかります。
私がインターネットで見つけた他の唯一のものは、タグに「id」タグを付けることです。
だから私はできるかどうか、および/またはどのようにできるかを調べようとしています:
どういうわけか、IE やその他のブラウザーで ExternalInterface を使用して呼び出しを行い、現在の URL を返します。
また
タグに id="PA" 属性を付けて、AS3 にそのタグを読み取らせ、JavaScript を使用せずに文字列として取り込みます。
私の制限は、タグを HTML にのみ追加でき、JavaScript 関数を追加できないことです。これは AS3 で厳密に行う必要があります。
いずれにせよ、現在の URL を知る必要があります。どんな助けでも大歓迎です。