Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285

    document.appendChild IE<8

    Salve a tutti!
    Ho un problema di compatibilità del codice javascript con le versioni di IE minori della 8(tanto per cambiare).

    codice:
    var $=document.body;
    
    	var divbg=document.createElement("div");
    	var divbg_width=window.screen.width;
    	var divbg_style="position:absolute; top:0px; text-align:center; height:100%; width:"+divbg_width+"px; background-image:url(b1.png)";
    	divbg.setAttribute("id","div_bg");
    	divbg.setAttribute("style",divbg_style);
    	$.appendChild(divbg);
    In pratica si aggiunge un div al body...

    Funziona con firefox, Chrome e IE 8 e 9... non funziona con IE7 -.-
    Forse IE 7 non prevede il metodo document.createElement() ?
    Come potrei correre ai ripari?
    Grazie a chi mi aiuterà !

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    style di per se' non e' un attributo
    per cui devi attribuire una proprieta' dello stile alla volta con
    divbg.style.position='absolute';
    divbg.style.top='0px';
    divbg.style.textAlign='center';
    etc...

    esisterebbe un
    divbg.style.cssText="position:absolute; top:0px; text-align:center; height:100%; width:"+divbg_width+"px; background-image:url(b1.png)"
    che ti permetterebbe di attribuire lo stile in linea in un colpo solo, ma non e' ben supportato
    quindi non e' il caso

    prova a cambiare questo ma potrebbe esserci altro,
    nel caso se lasci un esempio da qualche parte velocizziamo

    ciao

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Grazie
    stavo scrivendo proprio per dire che ho riscontrato quello che mi hai detto... ho fatto una prova del tipo
    codice:
    alert(divbg.style.posotion)
    e non mi restituiva nulla...ho settato ogni attributo riga per riga e ora va...
    non riesco a risolvere però con la proprietà overflow del body... lo scroll resta in qualunque modo, come mai?
    Ho provato sia con
    codice:
    var $= document.body;
    $.style.overflow="hidden";
    che con
    codice:
    document.getElementsByTagName("body")[0].style.overflow="hidden";
    ma niente

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    non e' detto che sia proprieta' del body, ma dell' <html>, dipende dal browser

  5. #5
    Utente di HTML.it
    Registrato dal
    Oct 2009
    Messaggi
    285
    Ho risolto così
    codice:
    $.style.overflow="hidden";
    document.getElementsByTagName("html")[0].style.overflow="hidden";
    E pare che funzioni su ff e ie ...

    grazie ancora

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.