Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 20
  1. #1
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924

    Attenzione - Baco di Internet Exploder 6 + Sp 2

    Ciao a tutti.

    Mentre si lavorava (ogni tanto succede ) abbiamo trovato un baco niente male che si verifica solo su IE (su Mozilla e Opera non si verifica).

    In pratica il baco riguarda un apparente conflitto tra il nome dei tag META e gli id degli elementi all'interno del BODY di un documento html.

    In particolare se si imposta un id di un elemento con lo stesso nome di un meta, qualsiasi tentativo di accedere via DOM con .getElementById sull'elemento, questo non genera alcun errore ma cerca di referenziarsi al meta

    Si veda il codice dell'esempio provandolo con IE e poi con mozilla Non so se qualcun altro l'aveva già notato...

    Ciauz



    codice:
    <html>
    <head>
    <meta name="copyright" content="www.fabriziocalderan.it" />
    
    </head>
    
    <body>
    <input type="text" id="copyright" value="1" />
    
    <input type="button" value=" clicca " 
    onclick="document.getElementById('copyright').value = '2';" />
    
    </body>
    </html>
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  2. #2
    :master:

    Ma in teoria, non è un errore specificare nello stesso documento due elementi con lo stesso nome/id?

    Chiedo, eh.

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Si possono specificare due elementi con lo stesso nome (vedio radiobox) ma non con lo stesso id;

    Formalmente non è vietato usare una stessa stringa come id e poi come nome.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Non sarà vietato, ma credo sia logico che poi ci siano conflitti, no? Comunque grazie per aver sollevato la questione perchè io sta cosa non la sapevo.

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Non è affatto logico che ci siano conflitti tra due attributi diversi con lo stesso valore.

    se fosse errato allora lo stesso codice non dovrebbe funzionare nè con Mozilla nè con Opera... tuttavia con questi browser il codice funziona senza problemi.


    Notate che con IE non viene nemmeno generato un errore sul codice javascript. (subdolo...)

    l'ho postato appositamente perchè lo verificaste anche voi.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    Sì, scusa, stavo solo ragionando ad alta voce. Ok il discorso sugli attributi, ma nel caso specifico non mi pare proprio sensato dare lo stesso nome/id a due elementi distinti.

    Se sono disinti un motivo ci sarà...

  7. #7
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Non parlerei proprio di logicità: semmai di opportunità.

    Se voglio indicare il copyright nella mia pagina ritengo più che sensato utilizzare il meta "copyright".
    Se all'interno della pagina devo elencare per esempio un insieme di dati riguardanti un insieme di fotografie, trovo più che logico usare un campo di testo che ha id copyright che contiene le relative informazioni, soprattutto se devo accedere a quel campo via DOM per aggiornarlo costantemente.

    Scusa pierofix ma non vedo come possa essre illogico un uso di questo tipo. Inoltre se le specifiche dell'html non prevedono limitazioni di questo tipo sui valori ammissibili per due attributi diversi, questo problema non deve (anzi "dovrebbe", se si parla di IE) verificarsi.

    Se devo fare un lavoro io mi baso sulle specifiche e mai dovrei farmi problemi ad usare un nome piuttosto che un altro.

    Allora in teoria non potrei mai dare un valore ad un id come "generator", "expire", "keywords" o "author" solo perchè dei meta possono chiamarsi così??
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  8. #8
    Mmm, sì mi hai convinto. Soprattutto con l'ultima considerazione.

    Guarda, io proprio non avevo mai fatto caso a questo aspetto. Speriamo ci sia qualcuno che ci dia maggiori informazioni.


  9. #9
    Utente di HTML.it L'avatar di pacovox
    Registrato dal
    Oct 2001
    Messaggi
    557
    Hai provato a mettere un doctype magari xhtml 1.0 strict?

  10. #10
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    Certamente.

    Ho inserito questo codice al posto del semplice tag html:

    codice:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html xmlns="http://www.w3.org/1999/xhtml" lang="it" xml:lang="it">
    Ma il risultato non cambia per nulla. Con IE non funzia mentre firefox e opera si comportano in modo logico.
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

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.