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

    rendere script più crossbrowser

    Per il mio sito in firma ho scritto questo piccolo script che calcola lo spazio rimanente nella window tolti gli ad e lo assegna a un flash movie.
    codice:
    function setFlashSize(){
    	winWidth = document.all ? window.document.body.clientWidth : window.innerWidth
    	winHeight = document.all ? window.document.body.clientHeight : window.innerHeight
    	winHeight -= 90
    	var flashMovie = document.getElementById("flashMovie")
    	if (flashMovie.style.height != winHeight) flashMovie.style.height = winHeight
    	if (flashMovie.style.width != winWidth) flashMovie.style.width = winWidth
    }
    setFlashSize()
    window.onresize = setFlashSize
    L'ho testato su FF, IE6, IE7, Opera8, Netscape8 tutti in ambiente Win (ah, anche Safari), e funziona ma con Browsershots vedo per esempio che con Mozilla non funziona (anche se di utenti con Mozilla, sul mio sito nell'ultimo mese, non ne ho visto neanche uno...)

    Mi aiutate a renderlo più crossbrowser? Ho poca dimestichezza in questo con js..

    Inoltre, se avete piattaforme "strane" (es Linux + browsers poco noti) potreste testare il sito? Il risultato dovrebbe all'incirca essere questo.

    Grazie mille

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    quando setti via javascript valori x proprieta' css che prevedono un' unita' di misura i browser aderenti agli standard w3c vogliono l' unita' di misura

    idem, se rilevi un valore di questo tipo serve un parseInt per ottenere un valore che senza dubbio sia numerico (col parseInt prelevi solo la parte numerica ripulendola dall' unita' di misura)

    questo, in linea di massima
    codice:
    if (flashMovie.style.height != winHeight) flashMovie.style.height = winHeight
    diventa questo
    codice:
    if (parseInt(flashMovie.style.height) != winHeight) flashMovie.style.height = winHeight+'px'
    c'e' un altro appunto da fare,
    se l' height di flashMovie non e' settato in un css in linea restituira' 0 o undefined
    che nell' economia del tuo script potrebbe non fare differenza, ma e' da considerare

    una volta settato il valore via javascript sara' considerato come se prelevato dallo stile in linea, quindi
    flashMovie.style.height sicuramente restituira' quanto ti aspetti...

    ciao

  3. #3
    Grazie mille Xinod, apporto subito la modifica dell'unità di misura.

    Se non vado troppo off-topic resto comunque in attesa di commenti di altri utenti riguardo il test del sito su piattaforme poco comuni, grazie ancora! (se però non si può pace...)

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    e' consentito
    ciao

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.