Applet's Packages属性为空JRE7u21
Applet's Packages attribute is null JRE7u21
使用JavaFX applet:
我用document.getElementById("APPLET_ID")得到的javascript对象在Windows下没有Packages属性。我在Windows XP、IE8、FF和最新版本的Chrome上进行了测试,但在Windows 7下也出现了同样的问题。
在Ubuntu和JRE 7u7 x64下,没有这样的问题。
下面是我的测试代码:package test;
import netscape.javascript.JSObject;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.scene.Scene;
import javafx.scene.control.TextField;
import javafx.scene.layout.HBox;
import javafx.stage.Stage;
public class Main extends Application {
private JSObject js;
TextField tf;
@Override
public void start(Stage primaryStage) {
js = this.getHostServices().getWebContext();
HBox hb = new HBox();
Scene s = new Scene(hb, 400, 400);
tf = new TextField("MAIN");
primaryStage.setScene(s);
hb.getChildren().add(tf);
primaryStage.show();
runTest();
}
public static void main(String[] args) {
launch(args);
}
void runTest(){
new Thread(new Runnable() {
@Override
public void run() {
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
Platform.runLater(
new Runnable() {
@Override
public void run() {
tf.setText("" + js.eval("document.getElementById('applet_id').Packages == null"));
}
}
);
}
}).start();
}
}
在Ubuntu JRE7u7x64下显示"false",在Windows和Ubuntu JRE7u21下显示"true"。
正如JavaFX2部署文档页面告诉我的那样,它看起来像一个JRE错误。你觉得怎么样?
http://docs.oracle.com/javafx/2/deployment/javafx_javascript.htm。
归档于Jira: https://javafx-jira.kenai.com/browse/RT-30732
看起来这是一个预期的变化,因为2011:http://www.oracle.com/technetwork/java/javase/7u21-relnotes-1932873.html这个Packages属性不再有效。
所以如果你需要从JS回调到applet,你必须直接访问它的方法。
并使用Trusted-Library manifest属性来避免警告。
但是当你使用Trusted-Library时,你不能做你想做的。例如,如果您使用Axis2 web服务。
因此,您必须使用仅受信任的manifest属性。但是这禁止你从JS中调用方法。
简单的解决方法:让线程定期检查JS回调队列并处理它们。这是痛苦的,可怕的POJO,但它有效。
对Oracle:由于
- 用于更新在线文档
- 用于宣布小版本中的主要更改
- 让web集成变得如此简单。
- 在u25中添加其他导致20秒灰屏延迟的安全检查
你知道Adobe吗?听说他们有很好的东西…我很生气。
- RegEx删除空属性?例如,如果(class=“”||class=“”)移除;否则就下课
- 全局变量和全局对象的属性之间有什么区别吗
- 如果使用 lodash 将属性存在于另一个对象中,则向对象添加属性
- 如何在Bootstrap Modal中为动态点击生成的变量设置jade属性
- 序列化数据属性中对象的最可靠方法
- 分析高度属性时出现意外值{{specs.height}}.index.html
- TypeError:无法读取属性'推'未定义的JavaScript
- 同样,同样的错误'ahorcado.js:26未捕获类型错误:无法读取属性'beginPath'
- AngularJS-使用'true'属性
- 可以't使用JavaScript获取width属性
- 未捕获的TypeError无法读取未定义的属性socialsharing
- 如何使用javascript获取嵌套对象中所有子对象的单个属性
- JavaScript Pub/Sub属性访问问题
- 从JavaScript访问struts操作中的属性
- 是否可以从父类访问子类的属性
- 如何更改reactjs中外部/独立组件的状态或属性
- 如何在选项卡上定义属性'的主窗口对象
- 锚点元素的href属性自动更改
- jQuery最近父级的数据属性选择器
- Applet's Packages属性为空JRE7u21