2010-11-08 2 views
1

В предыдущих версиях IE и в Firefox я могу вызвать methodFoo в JavaScript из моего Java-апплета, запущенного на той же странице , В IE9 это больше не работает. Есть ли какой-то дополнительный шаг или другой способ сделать это для IE9?В IE9 и IE9 Platform Preview я больше не могу вызывать Javascript-метод из своего Java-апплета

Мои Java Applet содержит

import netscape.javascript.JSObject; 
... 
private transient JSObject jso; 
... 
public void init() { 
    ... 
    jso = JSObject.getWindow(this); 
    ... } 

public void CalledFromSecondaryThread(){ 
    ... 
    jso.call("methodFoo", object_to_pass); 
    ... } 

Моя страница содержит Html

... 
<object style="height: 1px;width: 650px;" classid = "clsid:CAFEEFAC-0016-0000-0011-ABCDEFFEDCBA" codebase = "http://java.sun.com/update/1.6.0/jinstall-6u11-windows-i586.cab#Version=6,0,0,11" id="AppletControl"> 
    <param name="java_arguments" value="-Xmx256m" /> 
    <param name = "CODE" value = "com.namespace.Applet.class" /> 
    <param name = "archive" value = "./lib/applet.jar" /> 
    <param name = "type" value = "application/x-java-applet;version=1.6" /> 
    <param name = "scriptable" value="true" /> 
    <param name = "mayscript" value="true" /> 
</object> 
... 
<script type="text/JavaScript" src="js/script.js"></script> 
... 

и script.js содержит

function methodFoo(object_to_pass){  
    //doStuff 
} 

Исключение полученных от jso.call является

netscape.javascript.JSException: No such method "methodFoo" on JavaScript object 
+0

Я обнаружил, что это также работает в режиме «Причуды» в IE9, так что позволяет режим совместимости для страница - разумное решение для некоторых. – RCGoforth

+0

Если у вас есть (или создать) логин для портала обратной связи Microsoft, вы можете просмотреть статус ошибки здесь: https://connect.microsoft.com/IE/feedback/details/620646/calls-to-javascript -method-from-a-java-applet-are-failing-with-a-no-such-method-error – RCGoforth

+0

Вы пытались использовать eval? Как 'jso.eval (" methodFoo() ")'. Когда я использую LiveConnect, я вообще не использую 'call', поскольку он разбит на FF Mac, Safari и Opera 9.8. Подробнее см. [Информация о liveconnect и развертывании] (http://www.cabo.dk/blog/jakobs-blog/applets-missing-information-about-liveconnect-and-deployment). Кстати, ссылка не работает. Это исправлено сейчас? –

ответ

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

  • Нет связанных вопросов^_^