0

JS からアプレット ID を呼び出すと、Object doesn't support this property or methodエラーが発生します。

コードを確認してください...

<!--[if !IE]> Firefox and others will use outer object -->
    <object
        classid     = "java:com.mypack.myclass.ABCClass.class"
        type        = "application/x-java-applet"
        height      = "200"
        width       = "480"
        id          = "myappletId">
        <!-- Konqueror browser needs the following param -->
        <param name="cache_archive" value="a.jar, b.jar, c.jar" />
        <param name="codebase" value="applets/" />
        <param name="OnMouseLeftClickJS" value="showModal()">
        <!--<![endif]-->
        <!-- MSIE (Microsoft Internet Explorer) will use inner object -->
        <object 
            classid     = "clsid:8AD9C840-044E-11D1-B3E9-00805F499D93"
            codebase    = "http://java.sun.com/update/1.5.0/jinstall-1_5_0-windows-i586.cab"
            height      = "200"
            width       = "480"
            id          = "myappletId">
            <param name="code" value="com.mypack.myclass.ABCClass" />
            <param name="cache_archive" value="a.jar, b.jar, c.jar" />
            <param name="OnMouseLeftClickJS" value="showModal()">
            <param name="codebase" value="applets/" />
            <strong>No Java Support</strong>
        </object>
        <!--[if !IE]> close outer object -->
    </object>
<!--<![endif]-->

今、私が持っている私の showModal() js 関数では、

var myId = document.getElementById("myappletId"); //At this point I am getting the object data.

jqueryモーダルウィンドウであるモーダルウィンドウでいくつかの操作を実行し、その中にボタンがあります。それをクリックすると、xyz() という関数を呼び出しています。

function xyz() {
    var myId = document.getElementById("myappletId"); 
    //At this point myId is getting empty.
}

これは IE ブラウザでのみ発生しています。IE8でテストしました。Firefox と chrome でうまく動作します。

ページをナビゲートしていません。ソースを表示すると、オブジェクト タグが表示されます。

私を助けてください。

前もって感謝します...

4

2 に答える 2

0

皆さんの努力に感謝します。間違いは私のコードにあります。オブジェクトタグの可視性を後ろに隠すモーダルウィンドウを開くと。モーダルウィンドウを閉じた後に見えるようにしても、このIEはそれを識別していません。奇妙だが真実...

于 2012-04-10T12:32:59.223 に答える
0

あなたのコメントでは、

<!-- MSIE (Microsoft Internet Explorer) will use inner object -->

を使用してはdocument.getElementById('myappletId').getElementById('innerApplet')どうですか?内部アプレットに一意の ID を使用することをお勧めします。そうすれば、ソリューションが機能する可能性があります。

于 2012-04-10T11:53:50.223 に答える