Ho letto la discussione, ancora non ne vengo a capo.
Come ho scritto più volte Il primo messaggio ha creato confusione, Mi è dispiaciuto molto ma purtroppo non ho potuto modificarlo… Tra l'altro mi spiegavo nel secondo messaggio.
Cerco di trovare nuovamente la soluzione, intanto grazie per avermi fatto comprendere il motivo… Non sapevo che Javascript non interpretasse la parola Javascript...
Con le giuste modifiche il codice funziona, anche se non ho capito molto della funzione execJS...
codice:
//-----------------------------------------------------//valuta il codice javascript e restituisce la stringa
//senza codice
//-----------------------------------------------------
function execJS(t)
{
var p1 =0, p2 =0, p3 =0, p4 =0;
p1 = t.indexOf("<"+"script",0);
if(p1 ==-1)return t;
p2 = t.indexOf(">", p1 +7)+1;
p3 = t.indexOf("<"+"/script>", p2);
p4 = p3 +9;
var c = t.substring(p2, p3);
var s = document.createElement("script");
s.type ="text/javascript";
s.text = c;
document.getElementsByTagName("head")[0].appendChild(s);
t = t.substring(0, p1)+ t.substr(p4);
return execJS(t);
}
Perché nella seconda riga della funzione "<" e "script" sono divisi?
Inoltre non ho capito le ultime due righe…
Cioè la funzione execJS estrapola il codice presente tra i tag <script> </script> e lo appende nell'header Creando un nuovo elemento script (presuppongo gli stessi tag)... Ma non afferro le ultime due righe...
Eventualmente avrei potuto appendere tutta la stringa dello script compresi i tag all'interno dell'header? Se no perché è obbligatorio creare un elemento script?