Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114

    Javascript e gli attributi del CSS

    In pratica sto cercando di cancellare tutte le immagini .png per i browser IE inferiori a 7.
    La soluzione ottimale è inserire a fine pagina uno script simile
    Codice PHP:
    <!--[if lt IE 7]>
    <
    script type="text/javascript">// <![CDATA[
    for(var itag 1itag <= document.getElementsByTagName('*').lengthitag++)
    {
    if (
    document.getElementsByTagName('*')[itag].style.background.match(/\.png/i))
    {
    document.getElementsByTagName('*')[itag].style.backgroundImage"none"

    }
    // ]]></script>
    <![endif]--> 
    Cioè trovare tutti i png e "cancellarli".
    Il problema è che questo Javascript cerca soltanto in quegli oggetti che hanno il background in style="...", cioè tralasciando tutti i background menzionati nei Css.
    La domanda è: c'è un modo per leggere gli attributi del Css con Javascript?

    Ciao e Grazie!!

  2. #2
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quote Originariamente inviata da Igreo Visualizza il messaggio
    Il problema è che questo Javascript cerca soltanto in quegli oggetti che hanno il background in style="...", cioè tralasciando tutti i background menzionati nei Css.
    La domanda è: c'è un modo per leggere gli attributi del Css con Javascript?

    Ciao e Grazie!!
    Ovviamente il modo c'è. Il problema è che non credo sia supportato proprio da quei browser per cui ti serve. Prova. Se non ci riesci un'altra soluzione esiste e sarebbe anche elegante. Ma sarebbe davvero complessa da realizzare dal punto di vista logico.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  3. #3
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Il primo modo non mi entusiasma e certamente non funziona con IE! ...Altre soluzioni?

  4. #4
    Utente di HTML.it L'avatar di carlomarx
    Registrato dal
    Oct 2009
    Messaggi
    1,669
    Quote Originariamente inviata da Igreo Visualizza il messaggio
    Il primo modo non mi entusiasma e certamente non funziona con IE! ...Altre soluzioni?
    Il secondo modo allora ti entusiasmerà ancora meno: ti toccherà lanciare un ciclo ricorsivo zeppo di espressioni regolari su tutti i ruoli dei fogli di stile del documento. Buona fortuna!
    Oppure forse c'è un terzo modo ed è quello di sperare che jQuery faccia al caso tuo. Ma come noterai dalla mia firma io sono la persona meno adatta a darti consigli in questo.
    Tutto ciò che fai con jQuery puoi farlo meglio e con la metà del codice in puro JavaScript.

  5. #5
    Utente di HTML.it L'avatar di Igreo
    Registrato dal
    Jun 2004
    Messaggi
    1,114
    Mi sta venendo in mente che potrei settare un background: none per tutte le classi che hanno dei background con png.. più la modifica per tutte le png esistenti nel file html.
    Codice PHP:
    <!--[if lt IE 7]>
    <
    script type="text/javascript">

    for(var 
    itag 1itag <= document.getElementsByTagName('*').lengthitag++)
    {
     if (
    document.getElementsByTagName('*')[itag].style.background.match(/\.png/i))
     {
      
    document.getElementsByTagName('*')[itag].style.backgroundImage"none"
     }
     var 
    clas = new Array("ciccio""franco""franchino""...");
     for (var 
    nclas 0nclas <= clas.length-1nclas++)
     {
      if (
    document.getElementsByTagName('*')[itag].className == clas[nclas])
      {
       
    document.getElementsByTagName('*')[itag].style.backgroundImage"none"
      }
     }
    }

    </script>
    <![endif]--> 
    E' esatto?
    Ultima modifica di Igreo; 29-11-2013 a 19:04

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.