Visualizzazione dei risultati da 1 a 5 su 5

Discussione: innerhtml e tag script

  1. #1

    innerhtml e tag script

    Ciao a tutti...
    dovrei eseguire uno scipt inserito nella pagina tramite innerhtml...
    una cosa del genere, per capirci:

    row = document.getElementById('miatabella').insertRow(0) ;

    td = row.insertCell(0);
    htmlscript = '<script type="text/javascript">alert("ciao")</script>';
    td.innerHTML = htmlscript

    solo che ovviamente non lo esegue... qualcuno sa dirmi come posso fare??
    Grazie...
    Chi Non RisiKa noN RosiKa

  2. #2
    con un eval ti togli il pensiero....

    codice:
    eval('alert("ciao")');
    Tuttavia se vuoi importare dinamicamente un file JS esterno di conviene fare un injection di un tag script nella head:

    codice:
    var tag = document.createElement('script');
    tag.type="text/javascript";
    tag.src = "js/myfile.js";
    
    document.getElementsByTagName('head')[0].appendChild(tag);
    Il contenuto del file js viene valutato immediatamente
    I DON'T Double Click!

  3. #3
    ottimo, grazie...
    ora lo script viene effettivamente eseguito come dovrebbe!!
    ho solo un'altro problemino, vediamo se qualcuno ha quelche consiglio:
    Quello che sto cercando fi fare è aggiungere un campo con FCK Editor alla pressione di un tasto, quando premo il tasto ora il campo viene inserito ma mi viene un errore di autorizzazione negata e non posso scrivere dentro all'editor...
    lo script è questo:

    row = document.getElementById('miatabella').insertRow(0) ;
    td = row.insertCell(0);
    scriptfck = 'var sBasePath = \'/Admin/fckeditor/\';' + String.fromCharCode(10)
    + 'var sToolbar = \'Custom\';' + String.fromCharCode(10)
    + 'var oFCKeditor = new FCKeditor(\'NewDescrText1\');' + String.fromCharCode(10)
    + 'oFCKeditor.BasePath = sBasePath;' + String.fromCharCode(10)
    + 'if (sToolbar != null) oFCKeditor.ToolbarSet = sToolbar;' + String.fromCharCode(10)
    + 'oFCKeditor.Width = \'392px\';' + String.fromCharCode(10)
    + 'oFCKeditor.Height = \'140px\';' + String.fromCharCode(10)
    + 'oFCKeditor.Create();';
    td.appendChild = eval(scriptfck)

    se invece alla fine faccio solo...

    td.appendChild = scriptfck

    non succede nulla...
    Chi Non RisiKa noN RosiKa

  4. #4
    ho fatto una prova tralasciando l'fck editor facendo semplicemente...

    row = document.getElementById('miatabella').insertRow(0) ;
    td = row.insertCell(0);
    scriptfck = 'document.write("ciao")'
    td.appendChild = eval(scriptfck)

    e succede la stessa cosa: la pagina si svuota completamente e appare solo la scritta "ciao" ed il debugger mi dice "Autorizzazione negata"...
    Chi Non RisiKa noN RosiKa

  5. #5
    ho ridotto la cosa all'osso ed il problema persiste... sembra essere legato alla funzione eval!
    questa è la pagina di prova che ho fatto:

    <html><head>
    <script type="text/javascript">
    function prova() {
    document.getElementById('prova').appendChild = eval(document.write('prova'))
    // ho provato anche con: document.getElementById('prova').innerHTML= eval(document.write('prova')) ... stesso risultato
    }
    </script></head>
    <body>
    <div id="prova">bbb</div>
    AAA
    </body></html>
    Chi Non RisiKa noN RosiKa

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.