文章详情

  • 游戏榜单
  • 软件榜单
关闭导航
热搜榜
热门下载
热门标签
php爱好者> php文档>applet与js交互

applet与js交互

时间:2010-09-09  来源:疯狂骇客

1.js访问applet:

<applet name="appletName" ....../>

//JavaScript访问Applet属性

  • js访问applet属性:document.appletName.appletField  (属性必须是public的)  
  • js访问Applet方法:document.appletName.appletMethod (方法必须是public的)

如页面:

<script>
function showLable{
  document.applets["TestApplet"].showLable('dd()');
}

</script>

<applet
  codebase = "."
  code     = "untitled2.Applet1.class"
  name     = "TestApplet"
  width    = "400"
  height   = "300"
  hspace   = "0"
  vspace   = "0"
  align    = "middle"
MAYSCRIPT
>

</applet>

<a href="#" onclick="showLable()">showLable</a>

untitled2.Applet1类:

 public void showLable(String str)
    {
          this.jLabel1.setText(str);
    }

2.applet访问js:

java类中:

import netscape.javascript.JSObject;//引用    

import netscape.javascript.JSException; //可允许在小程序中处理异常事件 

//所对应方法

JSObject window=JSObject.getWindow(this); // 获取JavaScript窗口句柄,引用当前文档窗口 

JSObject  doc=(JSObject)window.getMember("document"); // 访问JavaScript document对象 

JSObject  form=(JSObject)doc.getMember("textForm"); //访问JavaScript form对象 

JSObject  textField=(JSObject)form.getMember("textField");访问JavaScript text对象    

String text=(String) textField.getMember("value"); //获取文本区的值 

// 调用JavaScript的alert()方法 

window.eval("alert(\"This alert comes from Java!\")");    

// 调用JavaScript的myFunction(message)方法

window.call("myFunction", new Object[]{"Hello"});//参数用数组的形势表示。

注意:

  • 必须在<applet/>标记中加入MAYSCRIPT才能够调用JSObject对象,不然会抛出JSException异常
  • netscape.javascript.JSObject 这个类所对应的在包在 Java\jdk1.6.0_05\jre\lib\plugin.jar,由于这个jar有1MB多,使用的话,客户端会将整个包下载到客户端,这样就话,第一次打开网页就会很慢,因,如果只是简单的用netscape.javascript.JSObject类的话,可以将其所需要的class提取出来,减轻容量。
  • 当js调用applet的方法读取本地文件信息的时候,请注意,如果要返回值的话,本人这边还真没有方法,因为这里要关系到安全问题,如果不要返回值的话,如果参考http://layicr.blog.sohu.com/141676490.html
相关阅读 更多 +
排行榜 更多 +
辰域智控app

辰域智控app

系统工具 下载
网医联盟app

网医联盟app

运动健身 下载
汇丰汇选App

汇丰汇选App

金融理财 下载