applet 的一个调试方法

    技术2022-05-11  55

    比如说我有一个数据希望要打印到文本里。applet 直接操作文本是很麻烦的,因为涉及到applet 本身的权限安全,只能通过 url 对象来连接文本文件。   我这里想了一个取巧的方法。   首先要找到那个传说中,可以从 applet 调用网页内javascript 对象的 netscape.javascript.JSObject 类。   那些网上一大抄的文章里,都会夸夸其谈如何使用这个类,却根本不说这个类可以从哪里找到。我当初就是大费周章,因为有介绍说这个是netscape 浏览器附带的东西,我还特意去安装了网景浏览器,没找到。最后是在ms 的java 虚拟机里寻到的。   但是ms 的java 虚拟机好象停止下载了。可以去163 的聊天室帮助里下这个东西。   地址: http://nca210.163.com/download/MSJavx86.exe   不知道现在这个连接还有没有效。   安装以后,在classpath 路径的设置里面,把安装目录Java/Packages/下面的若干.zip 文件都包含进来,就可以使用netscape.javascript.JSObject   下面具体讲这个调试方法   举例: applet 文件 a.class 包含网页 a.htm   在a.htm 的代码里写上 <APPLET height=100 width=100 code=a.class></APPLET> <form name="dataform"> <input name="a" type=hidden> <form> <SCRIPT language=javascript> <!-- function pri() { document.write(window.dataform.a.value); } //--> </SCRIPT>   在a.class 里面加入如下代码 String debugInfo="look here"; //然后在某个触发方法里加入如下代码         try {                       JSObject.getWindow(this).eval("javascript:dataform.a.value='"+debugInfo+"'");          JSObject.getWindow(this).eval("javascript:pri();");          } catch (Exception e) {}   剩下的就不用说明了吧   在applet 里面触发某一事件,在网页里就会打印出调试信息   恩,恩,适用于某些特殊场合

    最新回复(0)