Мне нужна помощь в развертывании JavaScript изнутри WebView в веб-приложении JavaFx 2.0 - PullRequest
0 голосов
/ 14 декабря 2011

У меня есть веб-приложение JavaFx 2.0, в котором есть компонент Webview, который отображает виджет Twitter.

Когда приложение загружается в браузер, оно не отображает окно Twitter.

Работает только с рабочего стола, когда я запускаю приложение с рабочего стола, все хорошо.

Вот код для виджета:

Обновление: у меня был другой компонент WebView в приложении, и он работает нормально, он ссылался на файл .js локально. Я решил скачать исходный код для другого javascript и ссылаться на него локально. Это не сработало.

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN"
    "http://www.w3.org/TR/html4/strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml" lang="en">
    <head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>templates</title>
<meta name="author" content="Artur Vieira" />
<!-- Date: 2011-12-13 -->
    </head>
    <body>
    <div class="twitter"><script type="text/javascript" src="widget.js" language="javascript"></script> <script>
                    new TWTR.Widget({
                     version: 2,
                     type: 'search',
                     search: 'Nestroia',
                     interval: 6000,
                     title: 'Nestroia on Twitter',
                     subject: 'Follow Us on Twitter',
                     width: 80,
                     height: 250,
                     theme: {
                       shell: {
                         background: '#5584a3',
                         color: '#fff'
                       },
                       tweets: {
                         background: '#fff',
                         color: '#696966',
                         links: '#000'
                       }
                     },
                     features: {
                       scrollbar: false,
                       loop: true,
                       live: true,
                       hashtags: true,
                       timestamp: true,
                       avatars: true,
                       behavior: 'default'
                     }
                    }).render().start();
                </script>

            </div>
    </body>
    </html>

Вот код для WebView внутри веб-приложения JavaFX 2.0

    Group block4 = new Group();
    block4.setLayoutX(740);
    block4.setLayoutY(180);
    WebView webTwitter = new WebView();
    webTwitter.setMinSize(158, 390);
    webTwitter.setPrefSize(158, 390);
    final WebEngine eng2 = webTwitter.getEngine();
    eng2.load("http://www.nestroia.com/twitter.html");

Любая помощь очень ценится.

1 Ответ

0 голосов
/ 14 декабря 2011

Я считаю, что ваша проблема в том, что приложения jnlp / plugin запускаются в Sandbox и имеют ограничения безопасности. И доступ к другому домену подпадает под нарушение безопасности для неподписанных приложений. Смотри http://docs.oracle.com/javase/tutorial/security/tour1/index.html

Чтобы избежать Песочницы, вы можете подписать заявку:

Если это не поможет, пожалуйста, включите консоль Java для браузера и покажите нам результат: Control Panel->Java->Advanced->Java Console->Show Console

...