我有一个Twitter2.0Web应用程序,其中有一个显示JavaFx小部件的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>以下是JavaFX 2.0 web应用程序中WebView的代码
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");任何帮助都是非常感谢的。
发布于 2011-12-14 18:13:47
我认为您的问题是jnlp/plugin应用程序在Sandbox中运行,并且有安全限制。访问另一个域属于未签名应用程序的安全违规。请参阅http://docs.oracle.com/javase/tutorial/security/tour1/index.html
为了避免沙盒,你可以给你的应用程序签名:
如果是Project Properties->Build->Deployment->Unrestricted access->Self-signed jar
如果这还不能解决问题,请为浏览器启用Java Console并向我们显示输出:Control Panel->Java->Advanced->Java Console->Show Console
https://stackoverflow.com/questions/8498102
复制相似问题