Java Webstart ... взаимодействие с браузерами на разных платформах - PullRequest
0 голосов
/ 15 мая 2010

Этот пост похож на этот пост , но не совсем, поэтому я задаю этот вопрос.

Как это сделать, Из приложения Java WebStart:

  • запустить новое окно браузера с целевым URL?

  • перенести существующее окно браузера в фокус с целевым URL?

Является ли решение ОС / платформой независимым? Имеет ли значение, с каким браузером вы общаетесь?

Ответы [ 2 ]

0 голосов
/ 15 мая 2010

См. @R. Ответ Bemrose, с оговоркой, что не ясно, будет ли showDocument открывать или не всегда открывать новое окно браузера.

Является ли решение ОС / платформой независимым? Имеет ли значение, с каким браузером вы общаетесь?

Решение условно не зависит от ОС / платформы / браузера, но поведение может зависеть от ОС / платформы / браузера. Как и следовало ожидать. Мы говорим о взаимодействиях с компонентами, которые не реализованы Sun и не соответствуют никаким соответствующим стандартам API.

Другая проблема заключается в том, что ваш код может хотеть открыть новое окно браузера или загрузить в существующее, но окончательное решение должно принадлежать пользователю через его / ее настройки браузера. Мы говорим о (потенциально) нежелательных всплывающих окнах здесь ... о вещах, которые многие пользователи находят сильно раздражающими.

0 голосов
/ 15 мая 2010

запустить новое окно браузера с целевой URL

Используйте метод BasicService showDocument.

import javax.jnlp.*;

// Other stuff here

   try {
       // Lookup the javax.jnlp.BasicService object
       BasicService bs = (BasicService)ServiceManager.lookup("javax.jnlp.BasicService");
       // Invoke the showDocument method
       bs.showDocument(url); // returns a boolean
   } catch(UnavailableServiceException ue) {
       // Service is not supported
   } 

перенести существующее окно браузера в фокус с целевым URL?

Этого, к сожалению, я не знаю.

...