我需要在JavaFX2.0Web应用程序中从WebView中部署javascript的帮助

我需要在JavaFX2.0Web应用程序中从WebView中部署javascript的帮助,javascript,javafx-2,Javascript,Javafx 2,我有一个JavaFX2.0Web应用程序,其中有一个显示twitter小部件的Webview组件 当应用程序在浏览器中加载时,它不会显示twitter框 它只能在桌面上运行,当我从桌面启动应用程序时,一切都很好 以下是小部件的代码: 更新:我在应用程序中有另一个WebView组件,它工作正常,它在本地引用了一个.js文件。我决定下载其他javascript的源代码并在本地引用它。它不起作用 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//

我有一个JavaFX2.0Web应用程序,其中有一个显示twitter小部件的Webview组件

当应用程序在浏览器中加载时,它不会显示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>

非常感谢您的帮助。

我相信您的问题在于jnlp/插件应用程序正在沙箱中运行,并且存在安全限制。访问另一个域时,未签名的应用程序会违反安全规定。看

要避免沙箱,您可以对应用程序进行签名:

  • 如果是NetBeans项目,请转到
    项目属性->构建->部署->无限制访问->自签名jar
  • 否则读
如果这没有帮助,请启用Java Console for browser并向我们显示输出:
controlpanel->Java->Advanced->Java控制台->显示控制台

非常好。现在,请告诉我们您遇到了什么问题。刚刚编辑。基本上twitter框不会出现。你检查过浏览器的错误控制台有没有错误?您可能还想查看是否有任何AJAX请求是使用Firebug或Chrome控制台向Twitter发出的。谢谢。twitter框本身工作正常www.nestroia.com/twitter.html只有当我将其放入应用程序中时,它才没有显示upI。我最近在测试页面时遇到一个错误,它说浏览器无法访问外部URL。我怎样才能解决这个问题?谢谢Sergey,我会试一试的。我在jar文件上签名了,现在应用程序不工作了。它没有部署。我启用了控制台,当我运行应用程序时,没有出现太多问题,控制台没有错误。浏览器显示此消息。“由于系统配置,JavaFX应用程序无法启动。有关疑难解答信息,请参阅java.com/JavaFX。”听起来很奇怪。您可以卸载JavaFX(SDK和运行时)吗。下载最新的2.0.2并重新安装。我已经用jdk 7u2安装了JavaFX2.0.2。使用Netbeans 7.1候选版本2。要签名,我按照您的指示转到properties文件夹,并选中请求无限访问的框。
    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");