問題タブ [liveconnect]

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.

0 投票する
3 に答える
2246 参照

java - LiveConnect を使用した Javascript から Java への通信が機能しない

Java と JavaScript の間で双方向の通信が必要なプロジェクトに取り組んでいます。OS X のすべてのブラウザーで正常に動作させることができましたが、Windows の任意のブラウザーで実行するという課題に直面しています。現時点では、単に機能しません。

JavaScript が Java と通信するために何か特別なことをする必要があるかどうか疑問に思っています。

私のアプレットコードは次のようになります。

アプレットがロードされたら、次のように関数を呼び出してみます。

そして、firebug コンソールで次のエラーが表示されます。

これがIEでも機能しないことを確認できます。

ページがロードされたら、Java コンソールを開いて、アプレットが正常にロードされ、コールを受け入れる準備ができていることを確認できます。

どんな助けでも大歓迎です!

乾杯


更新: これは、私が呼び出そうとしているパブリック API を公開する、削除された Java コードです。


更新 [解決済み]:

私は問題が正確に何であるかを理解しました。私が使用していた Gson lib は署名されていませんでした。しかし、私自身の瓶はそうでした。Windows 上のブラウザでは、すべてのライブラリが署名されている必要があります。だから私はGsonをJavaファイルと一緒にパッケージ化し、ロットに署名し、問題を解決しました! みんなの助けに感謝します!

0 投票する
2 に答える
377 参照

java - JavaScript とライブ接続

JavaScriptを使用して10個の乱数を出力する単純なhtmlファイルを作成しました。javascript オブジェクトは、java.util.Random クラス (ライブ接続) を使用して結果を出力します。しかし、onLoadやonclickなどの関数やイベントで使用すると、正確な出力が得られません!

/blockquote>

そして、関数を使用しない場合、出力を取得できます!

/blockquote>

誰でもこのバグで私を助けることができます!

0 投票する
1 に答える
2126 参照

java - 実際に Rhino を実行するにはどうすればよいですか?

ここでドキュメントを読みました:Mozillaの「Scripting Java」

これらの例も私の質問には答えません: Rhino Liveconnect の例

たとえば、私のjavascriptファイルは「java.lang」の場所をどのように知っていますか? もちろん、Rhino シェル内で動作しますが、シェルからではなく、javascript ファイル内から Java コードを実行する必要があります。ダウンロードしたソースに .java ファイルしか表示されません。

サーバーサイドのnodejs javascriptでサーバーサイドのJavaメソッドを呼び出したいです。javascript が java を理解できるようにするために、Rhino を起動する必要はありませんか?

編集: @eee したがって、正しく理解できれば、Rhino では実際に javascript から Java を実行することはできません。すべての javascript を Java .class ファイルに変換するだけです...結局のところ、Java ファイル内で実行する必要がありますか? そのようなものは、javascript から Java を呼び出す目的を無効にします。全体的なアイデアは、新しい Java ライブラリを構築することなく、JavaScript コード内から任意の Java コードを呼び出すことができるようにすることです。

それってRhinoが使えないってことじゃないの?Nodejs は V8 エンジンを使用して JavaScript を実行するため、単一の JavaScript ファイルを V8 と Rhino の両方で使用することはできないと想定しています... Java メソッドを呼び出して、Rhino を起動し、それらの呼び出しを変換できることを望んでいました。ジャバに。Java 自体は、変数にデータを入力して返します。

@Peter: なぜ http 呼び出しを行うのですか? 今のところ、JavaScript と Java の両方が同じサーバー上にあります。とにかく、あなたが言っていることは、Rhino を必要としないということでしょうか? 一連の .class ファイルを作成してから、'java myfile.class -v "firstvar" -x "secondvar"' を呼び出します。正しく理解できていますか?

0 投票する
1 に答える
423 参照

java - ubuntu/firefoxでのliveconnect

これは、WindowsのChrome Canary /Firefox4などで機能します。

しかし、firefox 4 ubuntuでは、java.net.MalformedURLException:不明なプロトコル:javascriptをスローするだけです。

Windowsではこの例外はスローされません。

これを機能させる方法について何かアイデアはありますか?アプレットからJSを呼び出すからの最初の回答を使用して例外を無視しても:MalformedURLException:不明なプロトコル:javascriptjavascriptは実行されません

0 投票する
1 に答える
579 参照

java - javaをjavascript呼び出しから切り離すにはどうすればよいですか? アプレットは自分自身を待っています!

自分のアプレットで、それ自体を待機しているスレッドが原因であると思われる散発的なクラッシュを回避するのに苦労しています。奇妙なことに、これは google chrome でのみ発生するようです。

30 秒の読み取り:

  • Applet.methodA() は JSObject.javascriptMethod() を呼び出します
  • javascriptMethod() は Applet.methodB() 呼び出しを行います
  • Applet.methodB() は Applet.methodA() がそのロックを解除するのを待ちますが、ロックが解除されることはありません。

私が試したこと:

  • javascriptMethod で setTimeout を使用します。そこには運がありません。
  • JSObject.call() の代わりに JSObject.eval() を使用する

また 、スレッド ダンプを完全に誤解している可能性もあります。こちらは車検用。

私の理解:

  1. シーケンサ スレッドは、applet.notifyPosition を呼び出します。
  2. notifyPosition は JavaScript メソッドを呼び出します
  3. javascript メソッドが applet.pause を呼び出す
  4. applet.pause はシーケンサーをロックする必要がありますが、notifyposition. の呼び出しでビジーであるためロックできません。

    /li>
0 投票する
2 に答える
896 参照

java - Appletは(同じWebサイトから)別のフレームでメソッドを呼び出すにはどうすればよいですか?

すべてのフレームが同じWebサーバーからロードされるマルチフレームWebアプリケーションの1つのフレームにアプレットがある場合、そのアプレットは他のフレームでJavaScriptメソッドをどのように呼び出すことができますか?私はこのようなことを試みました:

関数が存在しないという苦情があります。ただし、次のように呼び出すと、次のようになります。

その後、それは動作します。の使用を避けようとしていますevalcallAppletとは異なるフレームでコードを呼び出すと、ブラウザとJVMの組み合わせごとに動作が異なる可能性がありますか?eval部分的にアプレット側ではなく、JavaScriptエンジンで評価されるので安全ですか?

0 投票する
0 に答える
388 参照

java - Gecko の Java オブジェクトから取得したオーディオ サンプルを効率的にストリーミングする (Firefox 拡張機能)

特定の PCM ストリームを再生する必要がある Firefox 拡張機能を作成しています。サンプルは、LiveConnect を介して Java モジュールから取得されます。

Java コード:

Javascript コード:

上記のコードは機能しますが、非常に遅くなります。Java バイト配列を Float32Array に変換すると、非常にコストがかかるようです。java バイト配列を mozWriteAudio 関数に渡すことができないため、変換が必要です。

私の質問は次のとおりです。

  1. 変換をより効率的に行う方法はありますか?
  2. JavaコードがJavaオブジェクトではなくJavascript Float32Arrayオブジェクトを返すようにする方法はありますか?
  3. Firefox 拡張機能で使用できる PCM オーディオの再生を可能にする Java 実装はありますか? JavaScript コード内からその Java 実装を使用する場合、上記の変換は必要ありません。

他のアイデア/指示をいただければ幸いです。

0 投票する
1 に答える
3742 参照

oauth - Windows Liveからユーザーの連絡先の電子メールデータを取得するにはどうすればよいですか?

同様の質問があることは知っていますが、我慢してください...

連絡先の電子メールアドレスのハッシュバージョンのみを取得することに関して、他の質問者と同様の問題にぶつかり、その理由を理解しています。

問題は、Google+がLiveConnectを使用して連絡先のメールアドレスを問題なく取得できるように見えることに気づきました。フィドラーを使用して、文書化されていないように見える認証スコープ「wl.contacts_emails」を要求しているように見えることに気付きました。

一部のグーグルは「拡張された権限」を示唆していますが、サイトでWindowsライブ接続アプリをセットアップまたは編集するときにこれについては言及されていません。

アプリでこのスコープを取得するにはどうすればよいですか?

0 投票する
1 に答える
1866 参照

c# - SkyDriveでのフォルダの作成の問題

ここでLiveSDKを使用してSkyDriveにフォルダーを作成する方法について読みました(ここでは「boundary」パラメーターについては言及していません)。ここに私のコードがあります。

そして、なぜ私が400を返すのかわからない:

{"error":{"code": "request_header_invalid"、 "message":"提供されたヘッダー'Content-Type'に必須パラメーター'boundary'がありません。" }}

私が間違っていることは何ですか?何か足りないものはありますか?

御時間ありがとうございます!