В предыдущих версиях 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
Я обнаружил, что это также работает в режиме «Причуды» в IE9, так что позволяет режим совместимости для страница - разумное решение для некоторых. – RCGoforth
Если у вас есть (или создать) логин для портала обратной связи 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
Вы пытались использовать 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). Кстати, ссылка не работает. Это исправлено сейчас? –