2012-04-10 2 views
0

При вызове идентификатора апплета из JS, дающего Object doesn't support this property or method.вызов идентификатора из объекта апплета вызывает ошибку js в IE

Пожалуйста, проверьте код ...

<!--[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 модальное окно, и у меня есть кнопка. Когда я нажимаю на это, я вызываю функцию say xyz().

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

Это происходит только в браузере IE. Я тестировал в IE8. Хорошо работает в Firefox и Chrome.

Я не просматриваю свою страницу и источник просмотра. Я вижу свой тег объекта.

Пожалуйста, помогите мне.

Заранее спасибо ...

+0

Попробуйте использовать deployJava.js, связанный с информацией [applet info. страница.] (http://stackoverflow.com/tags/applet/info) Это скрипт, который предоставляется и поддерживается поставщиками Java Plug-In. Это также сделает шаг вперед по всему внутреннему/внешнему усложнению. –

ответ

0

Спасибо за ваши усилия, ребята, ошибка в моем коде. Когда я открываю модальное окно, делая видимость тега объекта скрытым в спине. Даже я делаю это видимым после закрытия модального окна, этот IE не идентифицирует его. Странно, но верно ...

0

В комментариях у вас есть

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

Как насчет использования document.getElementById('myappletId').getElementById('innerApplet')? Было бы замечательно использовать уникальный идентификатор для внутреннего апплета, возможно, тогда ваше решение будет работать.

+0

На самом деле myappletId ссылается только на внутренний апплет. Это означает, что в зависимости от браузера IE или Firefox он ссылается только на один идентификатор на основе указанного комментария. Чтобы напомнить из приведенного выше кода, мой первый звонок работает отлично. – Max

Смежные вопросы