pumax84
01-03-2010, 20:43
Salve a tutti,
da due giorni sto cercando di risolvere un problema dal quale non riesco a venirne fuori.
Nel mio sito ho un file (main.js) nel quale sono contenute tutte le funzioni javascript. In una di queste funzioni ho la necessità di inserire del codice per creare uno script dinamicamente (a seconda delle scelte lato utente) in un div.
Il div nella pagina php ha id "ads_box". Per creare lo script ho provato nei seguenti modi:
function insertScript() {
var scriptElem = document.createElement("script");
scriptElem.setAttribute("type", "text/javascript");
var content = document.createTextNode("alert('ciao');");
scriptElem.appendChild(content);
document.getElementsById('ads_box').appendChild(scriptElem);
}
function insertScript(){
var scriptElem = "<"+"script"+">";
scriptElem = scriptElem + "alert('ciao');";
scriptElem = scriptElem + "<"+"\/"+"script" + ">";
document.getElementById('ads_box').innerHTML = scriptElem;
}
Nessuno dei due però riesce a farmi comparire l'alert di prova.
Ho provato anche a sostituire i caratteri speciali "<" e ">" con le rispettive entità HTML, ovvero "<" e ">", ma naturalmente il risultato che ottengo è la stampa di <script>alert('ciao');</script> e non la finestra d'avviso.
Qualcuno sa come risolvere? Grazie mille.
Ciao,
Francesco
da due giorni sto cercando di risolvere un problema dal quale non riesco a venirne fuori.
Nel mio sito ho un file (main.js) nel quale sono contenute tutte le funzioni javascript. In una di queste funzioni ho la necessità di inserire del codice per creare uno script dinamicamente (a seconda delle scelte lato utente) in un div.
Il div nella pagina php ha id "ads_box". Per creare lo script ho provato nei seguenti modi:
function insertScript() {
var scriptElem = document.createElement("script");
scriptElem.setAttribute("type", "text/javascript");
var content = document.createTextNode("alert('ciao');");
scriptElem.appendChild(content);
document.getElementsById('ads_box').appendChild(scriptElem);
}
function insertScript(){
var scriptElem = "<"+"script"+">";
scriptElem = scriptElem + "alert('ciao');";
scriptElem = scriptElem + "<"+"\/"+"script" + ">";
document.getElementById('ads_box').innerHTML = scriptElem;
}
Nessuno dei due però riesce a farmi comparire l'alert di prova.
Ho provato anche a sostituire i caratteri speciali "<" e ">" con le rispettive entità HTML, ovvero "<" e ">", ma naturalmente il risultato che ottengo è la stampa di <script>alert('ciao');</script> e non la finestra d'avviso.
Qualcuno sa come risolvere? Grazie mille.
Ciao,
Francesco