Java咖啡馆(10):情人节的Applet(二)

2014-11-23 21:43:25 · 作者: · 浏览: 2
ava script是由浏览器解释运行,与Applet由Java虚拟机执行完全不一样。不过,这两个没有血缘关系的同班同学倒是可以精诚合作,Applet实现底层的工作,java script执行更高层的调用,从而实现意想不到的效果。

  java script可以通过多种途径操纵Applet。首先,java script能调用Applet中的public的方法,这时的Applet好像一个听话的机器人一样好用。另外一种方法就是用java script直接修改HTML结构,这样可以定制Applet的各种属性,有更大的灵活性。

  刚才说了,我们的目标是把这个Applet制作成一种服务,即使不懂 编程的朋友通过设置网页的参数就能够使用,因为不是每个人都有能力(或者精力)修改源代码的。所以,需要把Applet的参数做成可定制的,而这个只能够由 JavaScript完成。虽然我们可以给Applet写一些类似于setFrom()和setTo()的方法给java script调用,但是问题在于java script函数的执行时机,因为Applet无法通知java script它已经完成初始化操作了。

  所以,我们应该走第二条路,即用java script直接修改HTML结构,动态把标签写入HTML。从而,我们最终版本的index.htm代码如下:

"http://www.w3.org/TR/html4/loose.dtd">





大千世界无奇不有








// 得到URL中的参数

var urlquery = location.href.split(" ");
if (urlquery.length > 1) {

// 解析参数并获取from和to

var urlterms = urlquery[1].split("&");

var from = decodeURIComponent(urlterms[0].substring(5));

var to = decodeURIComponent(urlterms[1].substring(3));
// 动态把标签写入HTML

document.write(
);

document.write(

爱琴海上千年罕见的奇观

);

document.write(
);

document.write(
);

document.write(

http://www.cfan.com.cn 2005年2月14日 记者:GaryCha