<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    無為

    無為則可為,無為則至深!

      BlogJava :: 首頁 :: 聯(lián)系 :: 聚合  :: 管理
      190 Posts :: 291 Stories :: 258 Comments :: 0 Trackbacks
    如果您需要在 Java 中使用 JavaScript 對象,您必須在您的 Java 文件中引
    入 netscape.javascript 包,其定義如下: 
    netscape.javascript.JSObject 允許 Java 代碼訪問 JavaScript 方法和屬性;
     netscape.javascript.JSException 允許 Java 代碼處理 JavaScript 異常; 
    netscape.plugin.Plugin 允許客戶端 JavaScript 和 applets 操作一個插件(
    plug-in)。 
      從 JavaScript 1.2 開始,這些類被遞交到一個后綴為 .jar 的文件,而這以前的 JavaScript 版本,這些類被遞交到一個后綴為 .zip 的文件。為了訪問 LiveConnect 類,您可以有兩種方法將 .jar 或 .zip 文件置于 JDK 編譯器的 CLASSPATH 中:
    創(chuàng)建一個 CLASSPATH 環(huán)境變量以指定這些文件的路徑和名稱; 當(dāng)您用 -classpath 命令行參數(shù)編譯時指定這些文件的位置。 用 JSObject 訪問 JavaScript
      假設(shè)您有一個名為 JavaDog 的 Java 類,JavaDog 構(gòu)造函數(shù)設(shè)置了 JavaScript 對象 jsDog,它被定義為 JSObject 類型,其代碼如下:

    import netscape.javascript.*;
    public class JavaDog{
     public String dogBreed;
     public String dogColor;
     public String dogSex;
     // define the class constructor
     public JavaDog(JSObject jsDog) {
      // use try...catch to handle JSExceptions here
      this.dogBreed = (String)jsDog.getMember("breed");
      this.dogColor = (String)jsDog.getMember("color");
      this.dogSex = (String)jsDog.getMember("sex");
      }
    }

      現(xiàn)在來看看如何用 Java 來訪問客戶端 JavaScript,然而 HTML 頁必須允許一個 Java applet 訪問 JavaScript— 通過在 <APPLET> 標(biāo)記中指定 MAYSCRIPT 屬性。當(dāng)您在 Navigator 中訪問 JavaScript 之前,您必須獲得 Navigator 窗口的句柄,您可以在 netscape.javascript.JSObject 類中使用的 getWindow 方法來達(dá)到這個目的。例如,如果先前定義了一個 JSObject 類的變量win,下面的代碼將窗口句柄賦予 win:

    public class myApplet extends Applet {
     public void init() {
     JSObject win = JSObject.getWindow(this);
     }
    }

    在 Java 中處理 JavaScript 的異常
      當(dāng)從 Java 中調(diào)用的 JavaScript 代碼發(fā)生了運(yùn)行時的錯誤,它就會發(fā)出一個異常,這時您可以用 try...catch 語句來捕獲該異常。例如:

    try {
     global.eval("foo.bar = 999;");
    } catch (Exception e) {
     if (e instanceof JSException) {
      jsCodeFailed()";
     } else {
      otherCodeFailed(); 
      }
    }

    訪問 JavaScript 的對象和屬性
      我們用 getMember 方法來訪問 JavaScript 的對象和屬性,例如下面的代碼允許您通過變量 myForm 來訪問 JavaScript 對象 document.testForm:

    public void init() {
     win = JSObject.getWindow(this);
     myForm=win.eval("document.testForm")
    }

    您也可以用下面的語句來代替 myForm=win.eval("document.testForm"):

    JSObject doc = (JSObject) win.getMember("document");
    JSObject myForm = (JSObject) doc.getMember("testForm");

    如果 JavaScript 對象 document.testForm.jazz 是一個 checkbox,下面的語句允許您訪問它的 checked 屬性:

    public void init() {
     win = JSObject.getWindow(this);
     JSObject doc = (JSObject) win.getMember("document");
     JSObject myForm = (JSObject) doc.getMember("testForm");
     JSObject check = (JSObject) myForm.getMember("jazz");
     Boolean isChecked = (Boolean) check.getMember("checked");
    }

    訪問 JavaScript 方法
      在 netscape.javascript.JSObject 類中的方法可以讓您求出任一 JavaScript 表達(dá)式,先用 getWindow 來獲得 JavaScript 窗口的句柄,然后再用 eval 來訪問一個 JavaScript 方法,如下:

    JSObject.getWindow().eval("表達(dá)式")


    凡是有該標(biāo)志的文章,都是該blog博主Caoer(草兒)原創(chuàng),凡是索引、收藏
    、轉(zhuǎn)載請注明來處和原文作者。非常感謝。

    posted on 2005-12-14 12:59 草兒 閱讀(285) 評論(0)  編輯  收藏 所屬分類: Java編程經(jīng)驗(yàn)談
    主站蜘蛛池模板: 最新亚洲成av人免费看| 国产精品亚洲w码日韩中文| 亚洲AV无码一区二区一二区| 亚洲?V无码成人精品区日韩| 男女一进一出抽搐免费视频| 亚洲AV永久无码精品一百度影院| 日韩av无码成人无码免费| 男人免费视频一区二区在线观看| 亚洲成a人片在线观看无码专区| 亚洲免费在线视频观看| 精品久久久久亚洲| 亚洲AV无码乱码国产麻豆| 好大好硬好爽免费视频| 三年片免费观看大全国语| 亚洲一级特黄特黄的大片| 黑人大战亚洲人精品一区 | 亚洲国产精品成人精品软件| 日日操夜夜操免费视频| 久久免费福利视频| 亚洲aⅴ无码专区在线观看春色| 婷婷亚洲综合五月天小说| 国产三级免费观看| 2021国产精品成人免费视频| 一个人看的www免费在线视频| 国产成人精品亚洲日本在线| 国产亚洲美日韩AV中文字幕无码成人| 毛片大全免费观看| 国产成人精品无码免费看| 青青视频免费在线| 亚洲情A成黄在线观看动漫软件 | 日本一区免费电影| 2015日韩永久免费视频播放| 色婷婷综合缴情综免费观看| 亚洲中文字幕一二三四区苍井空 | 亚洲精品无码久久久久A片苍井空| 亚洲第一精品福利| 亚洲日韩国产精品第一页一区| 在线观看免费污视频| 最近免费中文字幕大全高清大全1 最近免费中文字幕mv在线电影 | 亚洲无线码一区二区三区| 成人性生交大片免费看午夜a|