我需要在JavaFX2.0Web应用程序中从WebView中部署javascript的帮助
我有一个JavaFX2.0Web应用程序,其中有一个显示twitter小部件的Webview组件 当应用程序在浏览器中加载时,它不会显示twitter框 它只能在桌面上运行,当我从桌面启动应用程序时,一切都很好 以下是小部件的代码: 更新:我在应用程序中有另一个WebView组件,它工作正常,它在本地引用了一个.js文件。我决定下载其他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//
<!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
- 否则读
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");