Visualizzazione dei risultati da 1 a 5 su 5
  1. #1

    innerHTML e ASCIIMathML

    Saluti a tutti da uno nuovo del forum, anche se vecchio nell'età.
    Ho necessità di utilizzare l'istruzione innerHTML inserendo, all'interno del codice delle equazioni matematiche scritte utilizzando la famosa libreria js ASCIIMathML.

    Questa funziona, per esempio, in questo modo:

    codice:
    
     Normale scrittura</p>
    ....
    altro codice html 
    ....
    $\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$
    Ossia quando devo inserire un'equazione è sufficiente scriverla tra $ (o tra `).

    Ebbene, vorrei utilizzare il comando "innerHTML" inserendo nel codice HTML qualche riga contenente equazioni. Per esempio:

    codice:
    var cs = "
    
     Normale scrittura</p>";
    cs += "........";
    cs += "$\frac{d}{dx}f(x)=\lim_{h\to 0}\frac{f(x+h)-f(x)}{h}$";
    document.node.innerHTML=cs;
    Solo che, in fase di rendering da parte del browser, invece di visualizzarmi l'equazione come dovrebbe, viene stampato il codice tra $.
    Ho provato a cambiare in "\$ ....".
    Niente.

    Qualche idea?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Ciao e benvenuto, per risolvere ti basta raddoppiare le barre \ \\
    es: "$\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}$" altrimenti viene riconosciuta come delimitatore.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3

    Questa è una prova che avevo già fatto. Purtroppo raddoppiando le barre, ne viene visualizzata solo una (scrivo "\\lim ..." mostra \lim) ma dell'equazione neanche l'ombra.
    Ringrazio, comunque, per il suggerimento e attendo impaziente altre idee.

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Sorry avevo capito che volevi stampare la stringa non eseguirla.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Credo di aver risolto.

    E' sufficiente utilizzare la funzione di ASCIIMathML.js, LMprocessNode().
    Ecco come:
    codice:
    .............
    sc="$\\frac{d}{dx}f(x)=\\lim_{h\\to 0}\\frac{f(x+h)-f(x)}{h}$";
    ...........
    document.getElementById("nodo").innerHTML=sc;
    LMprocessNode(document.getElementById("nodo",true);
    ..............
    Ho solo testato con Firefox e la parte racchiusa tra $ viene perfettamente renderizzato.

    Comunque ringrazio per l'attenzione.

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.