showDocument () не отображает новое окно в IE8 с Java 7 / Java 6u27 - PullRequest
0 голосов
/ 18 октября 2011

У меня есть Java-апплет, который взаимодействует с плагином Java для отображения документа (только URL) в названном окне браузера:

public class TestApplet extends Applet {
    @Override
    public void init() {
        super.init();

        final JButton showButton = new JButton("Show Google!");

        showButton.addActionListener(new AbstractAction() {
            public void actionPerformed(ActionEvent e) {
                try {
                    getAppletContext().showDocument(new URL("http://google.com"), "Some Window Title");
                } catch (MalformedURLException e1) {
                    e1.printStackTrace();
                }
            }
        });

        add(showButton);
    }
}

Исторически это работало, но начиная с Java 7 и Java 6u27, окно не открывается в Internet Explorer (протестировано в IE 8). Если я использую _blank в качестве заголовка окна (цели) вместо Google, окно открывается правильно (хотя каждый раз в новом окне).

Я отследил эту ошибку, которая была исправлена ​​для 6u27:

Кто-нибудь еще испытывал такое же поведение? Вы нашли обходной путь (кроме использования "_blank")?

Редактировать

Обновлен пример. На самом деле я не использовал «Google» в качестве цели, я использовал «Заголовок окна» (извините!). Кажется, что эта проблема уникальна для целей с пробелами в имени.

Ответы [ 2 ]

1 голос
/ 29 августа 2012

Попробуйте этот код, он должен работать.

Desktop desktop = Desktop.getDesktop();
        desktop.browse(new URI(info));
1 голос
/ 18 октября 2011

Кажется, что эта проблема уникальна для целей с пробелами в имени.

Два возможных решения:

  1. Заменить "" на "%20 "
  2. Не используйте пробел в названии цели! (хотя я думал, что это будет просто).
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...