Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 12
  1. #1

    [AJAX][XHTML] Come mai le ENTITA' tipo   danno errore?

    caricando dei contenuti tramite ajax, per la precisione usando responseText
    FF mi dà errore quando il codice che riceve ha entità tipo  
    non le riconosce, vuole solo   per esempio

    (ovviamente con IE non ho errori poichè riceve il contenuto come text/html e non xhtml)

    credo dipenda dall'header passato:
    Codice PHP:
    header("Content-type: text/html; charset= UTF-8"); 
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #2
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: sinceramente a me non dà errore. Almeno, se ho capito bene la domanda

    in pratica, nella prova fatta, il server mi restituisce:

    codice:
            string comando_ajax = lib.RequestParams("comando_ajax");
            if (comando_ajax == "1")
            {
                string s = "x&_nbsp;x&_nbsp;x&_nbsp;";
                this.Response.Write(s);
                this.Response.End();
            }
    Il client la butta dentro un div:
    codice:
        ajax("?comando_ajax=1", onload);
        function onload()
        {
    		var t = this.request.responseText;
    		//var tx = this.request.responseXML;
    		//alert(t);
            $("div1").innerHTML = t;
        
        }
    guardando il sorgente generato con firefox trovo:

    <div id="div1">x&_nbsp;x&_nbsp;x&_nbsp;</div>

    che è esattamente quello voluto
    Pietro

  3. #3
    grazie mille dell'aiuto

    ma infatti il problema non credo si generi in ajax ma nel DOCTYPE e nel modo di servire la pagina

    il problema c'è con FF poichè con esso la pagina xhtml viene correttamente servita con tutti i fronzoli nel prologo e header (mentre IE se ne sbatte tanto lavora in text/html)

    ma il codice che riceve via ajax deve avere le stesse interstazioni?

    perchè il fatto che non riconosca &amp;nbsp; è un problema di doctype ...no? :master:

    sul web molti invece di risolvere tagliano corto usando le entità in formato numerico &amp;#160;
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  4. #4
    Utente di HTML.it L'avatar di pietro09
    Registrato dal
    Jan 2002
    Messaggi
    10,116
    :master: ho difficoltà a seguirti. La pagina di prova che ho ha il DOCTYPE :

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    Pietro

  5. #5
    dopo una nottata di test ho trovato che la causa sta nella presenza di entità dentro il codice inserito nella pagina tramite innerHTML da panico quindi, poichè il problema è qui impostato in modo errato, redireziono la discussione di qua
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  6. #6
    ok, secondo direttive superiori non posso rimpostare il problema in un altro post....quindi continuo qui:

    [XHTML] Problema innerHTML e Entità
    usando ajax inserisco del codice in pagine XHTML1.1 tramite innerHTML,
    ma se il codice ha entità del tipo &amp;nbsp; queste causano errori di validazione in Firefox del tipo

    Codice PHP:
    Erroreuncaught exception
    [
    Exception... "An invalid or illegal string was specified" 
    code"12" nsresult"0x8053000c (NS_ERROR_DOM_SYNTAX_ERR)" 
    location"http://xxxxxx.js Line: 153"

    Erroreentità non definita 
    File sorgente

    RigaXColonna
    Codice sorgente

    <
    html xmlns="http://www.w3.org/1999/xhtml"
    <
    body xmlns="http://www.w3.org/1999/xhtml"
    <
    div xmlns="http://www.w3.org/1999/xhtml"
    <
    div xmlns="http://www.w3.org/1999/xhtml"
    dove tra l'altro i 4 tag ce li ha messi firefox e non io

    :master:

    quindi? il contenuto restituito dal server per le richieste ajax deve avere l'entità delle entità? ma dai!?!! ma qui non c'è fine... che devo fare?


    ps: ma se uso &amp;#160; non c'è problema...strano...
    pps: ho scoperto che, analogamente a quanto si fa per gli ulr, anche in codice javascript inline deve essere encoded
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  7. #7
    il discorso dell'entità dell'entità è una fesseria, perchè se gli dà noia 1 &amp; figuriamoci 2...

    proprio mentre sto scrivendo ora ho trovato sul web questo:
    In quinto luogo se utilizzi le entità letterali
    (es: &egrave solo 5 di queste sono realmente
    cross-browser e cross-platform: &lt;, &gt;, &amp;, &quot; e &apos;. Il charset UTF-8 impone, tranne poche eccezioni, di non utilizzare le entità letterali, un'altra ragione per utilizzare le entità numeriche.
    VVoVe: ma siamo de fori?!?! e che tocca scoprirle così a caso?
    io uso rigorosamente UTF-8 ...e sinceramente non capisco cosa c'entri la codifica del file con l'interpretazione delle entità

    in attesa che qualcuno mi illumini continuo a studiarci... :berto:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  8. #8
    è vero, la cosa è detta solo su siti stranieri, ma è così, e non è colpa di UTF8 come un italiano diceva ma è il DTD di XHTML, che prevede solo 5 entità nome

    ma la cosa mi puzza...perchè in una normale pagina caricata le entità nome come "&euro;" vengono riconosciute, ed invece quando queste passano attraverso innertHTML di ajax danno problemi? o funzionano sempre o non devono funzionare mai no?

    e qui il mistero si infittisce, fino ad arrivare ad un'incredibile lista di bugs di firefox proprio su innerHTML e le entità: https://bugzilla.mozilla.org/buglist...arch=innerHTML

    a questo punto rimango senza energie...non ho più idea di dove sia l'uscita...e mi chiedo come mai nessuno in Italia ha mai avuto questo problema, possibile che con Firefox e Ajax è sempre andato bene a tutti?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  9. #9
    Ma che ti costa usare enitità numeriche?
    Le trovi tutte qua: http://www.alanwood.net/demos/ent4_frame.html

    PS: avevo un link migliore ma non mi funziona

  10. #10
    10ks per il link

    ...so bene che potrei usarle punto e basta, ma è che mi piace capire e fare le cose per bene perchè tanto senno i problemi ritornano sempre a galla

    le entità nome o lettarali sono universali, mentre per quelle numeriche mi veniva il giusto dubbio che fossero legate al tipo di encoding del file, quindi mi ponevo il problema che il mio file UTF-8 se passasse in futuro ad un altro encoding sarebbe scritto male

    per non parlare del problema della traduzione al volo di PHP dalle stringhe prese da database: te come pensi di risolverla? chiedendo all'utente di usare quei codici strambi? o facendo un'ulteriore funzione che sostituisca OGNI VOLTA tutti i caratteri speciali del mondo?

    :master:
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

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 © 2024 vBulletin Solutions, Inc. All rights reserved.