Comunicacao javascript applet

14 respostas
A

Galera tenho uma applet na minha pagina e queria via javascript acessar um metodo dela.

Segui uns passos de um site mas da erro de javascript dizendo que a funcao nao eh suportada.
Codigo applet:

<div id="preamble">
			<h3><span></span></h3>
			<applet name="grafoapplet" id="grafoapplet"  codebase="applet" archive="prefuse.jar"
				code="DatenAggregateGraphBrowser.class" width=575 height=500>
	 	 	<param name="xml" value="http://localhost:8080/daten/rede.xml">
			<param name="host" value="http://192.168.100.14/Daten/getIdComp.aspx">	  
			  <hr>
  				Você precisa ter o Java instalado..
	 		  <hr>
  			</applet>
			
		</div>

JS:

function getCompId(){		  
		  alert(document.grafoapplet.getComputadorIdMomento());
		}

Alguem pode me explicar como fazer?

Alberto

14 Respostas

T

Você declarou esse método getComputadorIdMomento como public? Isso faz uma diferença lascada.

A

Declarei aqui o metodo:

getComputadorIdMomento()

Alberto

A

public String getComputadorIdMomento

Alberto

T

Hum, por acaso você está usando o IE? Uma recente atualização do Internet Explorer fez com que applets não possam ser acessadas direito sem você clicar pelo menos uma vez em cima, ou então (o que é preferível) incluir o tag < applet > usando um arquivo .js incluído na sua página (o esquema é meio complicado).

J

http://www.guj.com.br/posts/list/31313.java

A

Ok galera resolvi o problema. Era que eu tava chamando uma funcao que tava dentro de uma classe que eu usava na applet. Agora tem como fazer ao contrario? Eu da applet acessar uma funcao javascript? Eu ouvi dizer que sim, o q vcs acham?

Alberto

T

Funciona direitinho - muitos dos applets que escrevo são “sem cara” (1 pixel de tamanho) e é o JavaScript/DHTML que toma conta dessa parte de visualização e entrada de dados na applet.

http://developer.mozilla.org/en/docs/Core_JavaScript_1.5_Guide:LiveConnect_Overview

A

Valeu Thingol, funcionou!!. Agora a ultima coisa, na tag archive eu posso colocar mais um jar. Na verdade eh o seguinte, a biblioteca que eu to usando, usa o objeto o URL para carregar uma url passada como parametro e com isso ocorre erro de seguranca na applet, tem como eu assinar so um dos arquivos desta biblioteca(prefuse)?

Alberto

T

Qualquer jar pode ser assinado e reassinado. Basta usar o JarSigner.

Você só vai ter o incômodo de ver aparecer aquele diálogo de segurança para cada JAR que for carregado e estiver assinado.

A

Mas eu posso colocar mais de um jar na tag archive? Pq ai eu assinaria so meu applet e a biblioteca nao.

Alberto

T

a) Você pode pôr vários jars no atributo ARCHIVE da tag APPLET. Separe-os com vírgulas.
b) Se a sua biblioteca não faz nada que requeira assinatura digital, ela não precisa ser assinada. (Não sei o que ela faz; você precisa testar para ver o que ocorre. Por exemplo, se ela abre um socket para um endereço que é diferente do endereço do web server, ela requer assinatura.)

A

Valeu Thinglo, eu achava que se o applet abrisse qualquer tipo de socket teria que ser assinado. Isso eh bom. Valeu velho.

Alberto

I

Desenterrando!

Galera alguém tem algum exemplo de como passar parâmetros da applet para um javascript ou para um xhtml?
Desde já obrigado!

A

Olá Pessoal, que bom que achei este post… funcionou certinho.
Obrigado.

Criado 10 de maio de 2006
Ultima resposta 31 de out. de 2011
Respostas 14
Participantes 5