8

ほとんどが美化されたWebページであるJavaFXアプリケーションを開発しています。これはデスクトップ アプリケーション (Web ページに埋め込まれていません) であり、メイン UI 用の Web ビューがあります。アプリケーション自体は、Bluecove を使用して Bluetooth デバイスにアクセスするという唯一の目的を果たします。これは、Web ブラウザーの JavaScript では直接アクセスできないためです。

概念実証は正常に機能します (Java から JavaScript コードを呼び出すことも、その逆も可能でした) が、JavaScript 内から任意の Web サービス/API を呼び出すという追加の要件が 1 つありますが、これは同じオリジン ポリシーに違反しています (Android の場合と同様)。 : Android Webview + jquery mobile でのリモート ajax 呼び出しを許可します)。これはJavaFXで可能ですか? 任意のヒント?

PS: JavaFX 2.2 を使用しています。

4

3 に答える 3

7

基本的に、javaFx には CORS ( https://javafx-jira.kenai.com/browse/RT-35868 ) と組み合わされた問題があります。使用している Web サービスで CORS が有効になっていると仮定すると、次のアプローチを試すことができます。

  • System.setProperty("sun.net.http.allowRestrictedHeaders", "true")

また

  • java -Dsun.net.http.allowRestrictedHeaders=true <your main class here>

それがあなたを助けることを願っています

于 2014-09-29T13:38:48.743 に答える
0

すでに JavaFX でデスクトップ アプリケーションとして実行しているため、同一生成元ポリシーが適用されない Java 経由で JavaScript 呼び出しを行うことができます。

または、投稿したSOの質問に対するこの回答は、実行可能な代替手段のようです。

于 2013-09-03T06:23:23.410 に答える