【发布时间】:2012-11-11 03:38:57
【问题描述】:
经过多年成功维护一个使用旧的小程序:
<script src="foo.js"></script>
嵌入Java小程序的方法,我们无法捂住耳朵唱“啦啦啦!”了。
是时候使用了:
deployJava.runApplet()
当我使用单击处理程序触发此方法时(这里通过 jQuery 在按钮上使用事件侦听器,但这没关系):
$('#button').click(function() {
deployJava.runApplet(attributes, parameters, version);
});
...它会清除整个现有文档并用小程序替换它。我只需要知道如何将特定的 DOM 元素作为小程序的容器,这样我的页面就不会被擦除。
这似乎是我可以以target: someElement 的形式传递的属性,其中“someElement”是一个 DOM 对象或元素的 ID 作为字符串。但是很遗憾,我找不到此类属性的文档。
为了完整起见,这里是传递的内容:
/*here is where I imagine there might be an applicable attribute */
var attributes = {
name: "SomeName",
code: "some.class",
archive: "some.jar",
width: 640,
height: 400
};
var parameters = {
someParameter: someValue
};
var version = "1.5";
我可以document.write 重建文档所需的一切,但我相信你们都可以想象这种前景在我看来是多么可怕。
任何指针将不胜感激。
【问题讨论】:
-
多一点代码和少一点文本会更好:-)
-
没有代码可言。不过,我会更新只是为了向您展示。 ;-)
-
看看dtjava.js,deployJava的小弟不会document.write
-
看起来很有希望。不确定我是否会得到其他利益相关者的支持,但这似乎是最好的选择。唯一要做的另一件事是永远不要动态调用函数(只在页面渲染期间调用它)。
-
您可以使用
deployJava.js将链接静态写入元素,通过更改样式动态设置为可见。
标签: java javascript css applet