在web页面中动态创建applet
我需要实现一个这样的功能,我从网上下载了多个applet小程序,每个applet的程序都可以静态改写参数,例如我修改里面的param name=backimage value='img/spring004.jpg'参数行更改显示的背景图片!
我有多个applet程序和多张图片,根据不同的applet程序动态显示图片的不同效果。
(1)如果是静态的html页面有没有什么函数可以动态创建applet对象,然后动态传递参数!
<applet id="apple1" archive="ansnow/ansnow.jar" code="ansnow.class" width=800 height=600 VIEWASTEXT>
<param name=credits value="Applet">
<param name=backimage value="img/spring004.jpg">
<param name=regcode value="NO">
</applet>
改成createapplet函数之类的???
(2)jsp怎样实现,需要简单的一点的例子!!
问题点数:30、回复次数:7Top
1 楼killme2008(为了生态平衡,请保护蛤蟆)回复于 2006-03-21 10:26:29 得分 0
用javascript可以做到吧Top
2 楼clare2003(忘情火)回复于 2006-03-21 10:30:02 得分 0
想知道javascript怎样动态 创建applet对象??
<applet id="apple1"></applet>Top
3 楼ibiswang(神鸟)回复于 2006-03-21 10:52:22 得分 0
其实html中也可以动态创建的,你可以通过dhtml,
例如:<div id="appletContainor"></div>
<script>
appletContainor.innerHMTL= "<applet....>...</applet>"; //你可以动态构造这个string
</script>Top
4 楼clare2003(忘情火)回复于 2006-03-21 11:21:10 得分 0
<script>
appletContainor.innerHMTL= "<applet....>...</applet>"; //你可以动态构造这个string
</script>
---------------------
上面的好像出不来applect程序,也不会报错!!
我的html例子:
<html>
<script>
function insertScript()
{
var DisHTML="";
DisHTML="<applet id='apple1'archive='ansnow/ansnow.jar' code='ansnow.class' width=800 height=600>";
DisHTML=DisHTML+"<param name=credits value='Applet by Fabio Ciucci (www.anfyteam.com)'>";
DisHTML=DisHTML+"<param name=regcode value='NO'>";
DisHTML=DisHTML+"<param name=reglink value='NO'>";
DisHTML=DisHTML+"<param name=regnewframe value='YES'>";
DisHTML=DisHTML+"<param name=regframename value='_blank'>";
DisHTML=DisHTML+"<param name=statusmsg value='Snow'>";
DisHTML=DisHTML+"<param name=flakes1 value='500'>";
DisHTML=DisHTML+"<param name=flakes2 value='300'>";
DisHTML=DisHTML+"<param name=flakes3 value='100'>";
DisHTML=DisHTML+"<param name=flakes4 value='0'>";
DisHTML=DisHTML+"<param name=windmax value='1'>";
DisHTML=DisHTML+"<param name=windvariation value='7'>";
DisHTML=DisHTML+"<param name=speed value='7'>";
DisHTML=DisHTML+"<param name=backimage value='img/spring004.jpg'>";
DisHTML=DisHTML+"<param name=bgcolor value='000133'>";
DisHTML=DisHTML+"<param name=overtext value='yes'>";
DisHTML=DisHTML+"<param name=overimg value='NO'>";
DisHTML=DisHTML+"<param name=overimgX value='0'>";
DisHTML=DisHTML+"<param name=overimgY value='0'>";
DisHTML=DisHTML+"<param name=memdelay value='1000'>";
DisHTML=DisHTML+"<param name=priority value='3'>";
DisHTML=DisHTML+"<param name=MinSYNC value='10'>";
DisHTML=DisHTML+"</applet>";
appletContainor.innerHTML=DisHTML;
}
</script>
<body text="#FFFF22" bgcolor="#304070" link="#5Fff5F" vlink="#556A8B" alink="#FF8000">
<button type="input" id="input" value="input1" onclick="insertScript()">显示</button>
<center><p id="p1"></p>
<div id="appletContainor"></div>
</applet>
</center>
</body>
</html>Top
5 楼ibiswang(神鸟)回复于 2006-03-21 11:30:15 得分 0
不可能吧,会不会上你的DisHTML构造的有问题?
你可以通过javascript将DisHMTL放到一个TextArea中,再copy出来存放到一个html文件中,通过IE看看applet是否能出来?
如果能出来的话,说明上面方法有问题,如果出不来说明你的DisHMTL有问题.
====================
如果用jsp就太简单了:
a.jsp:
<%
String applet = request.getParameter("applet"); //通过a.jsp?applet=aaaaa 来设定显示
//哪个applet
StringBuffer buf = new StringBuffer("<applet ....>...</applet>"); //根据applet来造
//输出的内容
out.println(buf);
%>
Top
6 楼clare2003(忘情火)回复于 2006-03-21 11:44:08 得分 0
DisHTML不改变
将appletContainor.innerHTML=DisHTML;
改为
document.write(DisHTML);
可以输出到另外一个窗体中,显示出applet程序
不过不是我所希望的效果
上面的那个applet程序来自
http://www.anfyteam.com/anj/ansnow/ansnow.html
我只是修改了里面的路径部分
apple1'archive='ansnow/ansnow.jar'
和<param name=backimage value='img/spring004.jpg'>
Top
7 楼ibiswang(神鸟)回复于 2006-03-21 12:44:02 得分 30
哪就很简单了,你可利用嵌入iframe的方式:
<div id="appletContainor"><iframe id="appletframe" src="empty.html" style="width:100%; height:100%;border:0;"></iframe></div>
利用Javascript:
appletframe.document.write(DisHMTL);
利用iframe的style css好好修饰iframe外观,可以让人感觉好像applet直接在页面上一样。Top




