尝试获取现有标记,然后使用javascript显示applet以呈现标记,而不是在页面上对其进行硬编码。 我首先尝试使用document.writeln()来编写applet标签,但这似乎根本不起作用。 然后我尝试将createElement用于对象或applet。我最接近它的工作是在下面,java尝试加载applet,但无法找到要加载的类,所以我认为它与代码库有关和/或归档参数。 applet标记看起来如何硬编码:
<applet width="150%" height="394"
codebase="/applets"
archive="applet1.jar, applet2.jar"
code="aaa.bbb.Applet.class"
id="myapplet" name="myapplet" alt="My Applet"
style="background-color:#CCCCCC">
<param name="parm1" value="xyz" />
</applet>
最接近我通过createElement开始工作:
var applet = document.createElement('applet');
applet.width='150%';
applet.height='394';
applet.codebase='/applets';
applet.archive='applet1.jar, applet2.jar'
applet.code='aaa.bbb.Applet.class';
applet.id='myapplet';
applet.name='myapplet';
applet.alt='My Applet';
applet.style='background-color:#CCCCCC"';
var urlParam = document.createElement('param');
urlParam.setAttribute('name','parm1');
urlParam.setAttribute('value','xyz');
applet.appendChild(urlParam);
var appletDiv = document.getElementById("AppletDiv");
appletDiv.appendChild(applet);
这至少会尝试加载applet(在Firefox 38.2.1上),但在ClassNotFoundException失败。再次认为它与代码库和/或归档规范有关。
我尝试了.setAttribute(name,value)而不是applet.name = value但是没有修复它,实际上甚至没有得到关于applet加载的消息。
此外,我无法使用任何外部代码进行渲染,因此无法从其他网站嵌入js代码。
我也可以通过object标签显示applet,如下所示,但是再次无法尝试加载创建元素作为对象的类:
<object id="myapplet" name="myapplet" width="150%" height="394"
codebase="/applets" archive= "applet1.jar, applet2.jar"
classid="java:aaa.bbb.Applet.class">
<param name="parm1" value="xyz" />
xyz
</object>