Newsgroup: it.comp.lang.javascript
Titolo: nn6 ancora problemi

ho un'altro problema con nn6. devo impostare i parametri di un'applet
secondo i dati che ricevo da un form.
allora ho provato a vedere come poter creare un'applet dinamicamente.
con nn4.x e ie non c'e' problema (document.write('<applet code="pippo"
eccetera))
ho provato con nn6 ma non c'è stato nulla da fare.
ho fatto la seguente prova che crea un link (e quello funziona) e un
richiamo all'applet, che invece non ne vuol sapere
vi posto il codice , se potete dirmi cosa sbaglio mi farete contento.
fra l'altro , un manuale da scaricare con le specifiche js per nn6 ie5
esiste ?
io non l'ho trovato , anzi l'unica fonte che ho trovato sono gli articoli
sul sito comune (
http://www.jsdir.it
)
ciao
<html>
<head>
<title>Nuova pagina 3</title>
<script language="JavaScript">
function selezione() {
 if(document.getElementById){
  var cc=document.createElement('a')
  cc.href='pippo.htm'
  var dd=document.createTextNode("paper")
  cc.appendChild(dd)
  document.body.appendChild(cc)
  var ee=document.createElement('applet')
//  ee.setAttribute('code','colori')
  ee.code='colori'
  ee.archive='colori.jar'
  ee.width='400'
  ee.height='250'
  document.body.appendChild(ee)
  }
}
</script>
</head>
<body bgcolor="#B1FCD9" onload='selezione()'>
ciccio
</body>
</html>
p.s. mi dice qualcosa tipo che sull'oggetto ee mancano le properties . mah
?!?


Quello che c'è sono le specifiche del DOM su 
http://w3c.org
  che non sono di
facile interpretazione ........al momento niente di più ,...
cmq è vero che il tag "APPLET" non viene digerito da NN6 come elemento
creato dinamicamente , ma siccome non ho trovato "info" a riguardo , forse
si tratta di un bug,.........il problema è facilmente aggirabile utilizzando
innerHTML supportato da NN6....vedi esempio.....
<html>
<head>
<title>ciccio</title>
<script language="JavaScript">
function selezione() {
 if(document.getElementById){
  document.getElementById('pippo').innerHTML='<APPLET code="colori"
archive="colori.jar" width=400 height=250></APPLET>'
  }
}
</script>
</head>
<body bgcolor="#B1FCD9" onLoad='selezione()'>
<div id="pippo" style="position.absolute; top:250;"></div>
</body>
</html>
andreotta fabiano
 WebMªster ATI POWER s.n.c.
 
andr...@atipower.it
 
http://www.atipower.it
 
http://www.aticommerce.com
 
http://www.afdsoftware.freeweb.org
 
http://www.jsdir.com
 
http://www.javascript.3000.it

 ha scritto nel messaggio
news:35V%5.143515$hk4.5...@news.infostrada.it...



e cosa cambia??
NN6 non lo visualizza cmq !!


 ha scritto nel messaggio
news:35V%5.143515$hk4.5...@news.infostrada.it...

Probabilmente il tag "applet" non viene riconosciuto con questo metodo
(forse perche' deprecato) pero' si puo' inserire un tag *object*; il
codice che ho provato e' piu' limitato del tuo non avendo mai usato gli
archivi.
----------
  var ee=document.createElement('object')
  ee.setAttribute('classid','java:helloWorld.class')
 // ee.archive='colori.jar'
  ee.width='400'
  ee.height='250'
  document.body.appendChild(ee)
-------------------
cosi' funziona correttamente con NS6 e IE5.x.
Non sono invece riuscito a farlo funzionare con l'attributo *code* anche
se secondo le specifiche dovrebbe essere quello corretto.
Saluti, Paolo

grazie :)
mi metto al lavoro....

 se secondo le specifiche dovrebbe essere quello corretto.
Sciocchezza! :-(
L'attributo *code* e' del tag *applet* deprecato; *classid* e'
l'attributo corretto per *object*.
Sono un po' confuso dalle specifiche W3C sul DOM Level2 che riportano
come attributo dell'interfaccia HTMLObjectElement *code* (dichiarandolo
poi obsoleto) tralasciando *classid*.
Qualche spiegazione?
Saluti, Paolo

 l'attributo corretto per *object*.
comunque ho notato che classid funziona sia con nn6 che con ie5 con file
.class , se si vuole far funzionare un applet contenuto in un file jar, in
ie5 bisogna usare il code.
ti posto l'esempio funzionante (sono andato ad intuito , perchè ancora non
possiedo la documentazione delle nuove specifiche, e in ogni caso
momentaneamente non avrei tempo per studiarmela)
ciao
<html>
<head>
<title>Nuova pagina 3</title>
<script language="JavaScript">
function selezione() {
 if(document.getElementById){
  var cc=document.createElement('a')
  cc.href='pippo.htm'
  var dd=document.createTextNode("paper")
  cc.appendChild(dd)
  document.body.appendChild(cc)
  var ee=document.createElement('object')
  if(navigator.appName=="Netscape"){
    ee.setAttribute('classid','java:colori')
    }
    else if(navigator.appName=="Microsoft Internet Explorer"){
    ee.setAttribute('code','colori')
    }
  ee.setAttribute('archive','colori.jar')
  ee.width='400'
  ee.height='250'
  document.body.appendChild(ee)
  }
}
</script>
</head>
<body bgcolor="#B1FCD9" onload='selezione()'>
ciccio<br>
</body>
</html>

dimenticavo , se però tutto questo lo faccio su una nuova finestra, aperta
con window.open , continua a non funzionare.

 con window.open , continua a non funzionare.
Sempre con la mia Applet:
-------------------------
function selezione() {
aa=window.open('about:blank','prova')
aa.document.write('<html><body>pluto</body></html>')
aa.document.close();
 if(document.getElementById){
 var cc=aa.document.createElement('a')
 cc.href='pippo.htm'
 var dd=aa.document.createTextNode("paper")
 cc.appendChild(dd)
 aa.document.body.appendChild(cc)
 var ee=aa.document.createElement('object')
 ee.setAttribute('classid','java:helloWorld.class')
 ee.width='400'
 ee.height='250'
 aa.document.body.appendChild(ee)
  }
}
--------------------
Con gli archivi non ho fatto prove, non li ho mai usati; se vuoi
inviarmene uno faccio qualche prova.
Saluti, Paolo

 ciao
[]
Ho fatto alcune prove con il tuo .jar.
Effettivamente IE5.0 non funziona con classid non so se hanno sistemato
nella nuova versione.
Comunque, si puo' usare l'attributo *code* anche per NS6 aggiungendo il
tipo di
file:
------------
   var ee=aa.document.createElement('object')
 ee.setAttribute('archive','colori.jar')
//    if (document.all) ee.setAttribute('code','colori') // versione1
per IE5
//    else ee.setAttribute('classid','java:colori'); // versione1 per
NS6
 ee.setAttribute('code','colori')  // IE5.0 + NS6 con attributo type
 ee.setAttribute('type',"application/x-java-applet") // per NS6 con code
-------------
Cosi pare funzioni con tutti e due
Saluti, Paolo