หน้าเว็บ

วันจันทร์ที่ 8 ตุลาคม พ.ศ. 2555

Java Applet Call Javascript

1. Applet เรียกใช้งาน (call)  javascript function
js code
<applet code="" ...>
    <param name="" value="">
    <param name="" value="">
    ...
</applet>

<script type="text/javascript">
    function javaAppletCall(){
        ...
        ...
        ...
    }
</script>
java code
...
...
...
import netscape.javascript.JSObject;

public class Na5centApplet extends JApplet{

    public void callJavascript(){
        //this คือ applet class ที่ใช้ call  ซึ่งก็คือ Na5centApplet
        JSObject window = (JSObject) JSObject.getWindow(this);
        window.call("javaAppletCall", null);
        //หรือ
        window.eval("javaAppletCall()");
        //ทั้งสองทำงานเหมือนกัน
    }
}

2. หากต้องการส่ง parameter จาก Applet มาให้ javascript   ทำได้ดังนี้

js code
<applet code="" ...>
    <param name="" value="">
    <param name="" value="">
    ...
</applet>

<script type="text/javascript">
    function javaAppletCall(){
        console.log(arguments.length);
        //2
        console.log(arguments[0]);
        //hello
        console.log(arguments[1]);
        // world!
        ...
        ...
        ...
    }
</script>
java code
...
...
...
import netscape.javascript.JSObject;

public class Na5centApplet extends JApplet{

    public void callJavascript(){
        //this คือ applet class ที่ใช้ call  ซึ่งก็คือ Na5centApplet
        JSObject window = (JSObject) JSObject.getWindow(this);

        Object[] param = {"hello", " world!"};
        window.call("javaAppletCall", param);
    }
}
สังเกต : หากใช้ window.call(String function, Object[] objs)
parameter javascript function ต้องไม่มีปีกาเปิดปิด "()" เด็ดขาด มิฉะนั้นจะเรียกใช้งาน function javascript ไม่ได้


ไม่มีความคิดเห็น:

แสดงความคิดเห็น