2013-04-25 11 views
6

Sto sviluppando un'applicazione JavaFX che è principalmente una pagina web glorificata. È un'applicazione desktop (non è incorporata in una pagina Web) e ha una visualizzazione Web per l'interfaccia utente principale. L'applicazione stessa ha il solo scopo di accedere ai dispositivi Bluetooth tramite Bluecove perché non è possibile direttamente con JavaScript su un browser web.JavaFX WebView disabilita la stessa politica di origine (consentire richieste tra domini diversi)

La prova di concetto funziona bene (sono stato in grado di chiamare il codice JavaScript da Java e viceversa) ma ho un requisito supplementare di servizi di chiamata arbitraria web/API dall'interno di JavaScript, ma questo viola la stessa politica di origine (simile a questo su Android: Allow remote ajax calls in an Android Webview + jquery mobile). È possibile su JavaFX? Qualche consiglio?

P.S .: Sto utilizzando JavaFX 2.2.

risposta

0

Poiché è già in esecuzione in JavaFX come applicazione desktop, è possibile effettuare la chiamata JavaScript tramite Java, in cui non si applica la politica dell'origine.

In alternativa, this answer to the SO question you've posted sembra essere un'alternativa valida.

6

Fondamentalmente, javaFx presenta il problema che è accoppiato con CORS - https://javafx-jira.kenai.com/browse/RT-35868. Supponendo che i servizi web che si sta utilizzando, hanno CORS abilitato si può provare il seguente approccio:

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

O

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

auguriamo che contribuiscano

Problemi correlati