Corrigindo o bug do jQuery e Java Applets
Vou compartilhar com vocês uma solução para um problema que estava tendo com o a triade firefox 2, jQuery e Java applet.
O problema
Toda vez que é carregado na página um java applet visivel (ou seja, que apareça na tela de alguma maneira), o jQuery lança a exception:
Java class **** has no public field or method named "jQuery1207164172390"
Após a exception, o browser simplesmente para de responder aos eventos/comandos javascript. Isso ocorre a partir da segunda vez que é carregado o applet, dai em diante é aleatório (famosa roleta russa).
Para simular o erro, acesse http://www.pengoworks.com/workshop/jquery/bug_applet/jquery_applet_bug.htm
A solução
Pesquisando, consegui achar uma solução para o problema proposta por Dan G. Switzer, II na lista de discussão jquery-dev
Procure pela segunte função no source do jQuery:
// Prevent memory leaks in IE // And prevent errors on refresh with events like mouseover in other browsers // Window isn't included so as not to unbind existing unload events jQuery(window).bind("unload", function() { jQuery("*").add(document).unbind(); });
E substitua pela seguinte função:
// Window isn't included so as not to unbind existing unload events jQuery(window).bind("unload", function() { jQuery("*:not('applet, object')").add(document).unbind(); });
Essa correção evita que o jQuery tente remover os expandos dos elementos applet e object, não disparando a exception.
Feito isso, a exception não ocorrerá novamente, evitando que o javascript pare de funcionar.

