2013-04-25 3 views
6

Я разрабатываю приложение JavaFX, которое в основном является прославленной веб-страницей. Это настольное приложение (оно не встроено в веб-страницу), и у него есть веб-представление для основного пользовательского интерфейса. Само приложение служит единственной цели доступа к Bluetooth-устройствам с использованием Bluecove, потому что это невозможно напрямую с JavaScript в веб-браузере.JavaFX WebView отключить Та же политика происхождения (разрешить запросы на междоменные запросы)

Доказательство концепции работает нормально (я смог вызвать код JavaScript с Java и наоборот), но у меня есть одно дополнительное требование вызова произвольных веб-сервисов/API из JavaScript, но это нарушает одну и ту же политику происхождения (аналогичные к этому на Android: Allow remote ajax calls in an Android Webview + jquery mobile). Возможно ли это на JavaFX? Какие-нибудь советы?

P.S .: Я использую JavaFX 2.2.

ответ

0

Поскольку вы уже работаете в JavaFX в качестве настольного приложения, вы можете выполнить свой JavaScript-вызов через Java, где политика одинакового происхождения не применяется.

Альтернативно, this answer to the SO question you've posted представляется жизнеспособной альтернативой.

6

В принципе, у javaFx есть проблема, которая связана с CORS - https://javafx-jira.kenai.com/browse/RT-35868. Предполагая, что веб-сервисы, которые вы используете, уже CORS позволил вы можете попробовать следующий подход:

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

ИЛИ

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

Надеется, что это поможет вы

Смежные вопросы