Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente bannato
    Registrato dal
    Jan 2003
    Messaggi
    309

    popup ridimensionabili - non funziona in firefox

    ho realizzato un popup dinamico ridimensionabile automaticamente per le immagini, questo è il codice che ho inserito nella pagina popup:

    codice:
    <html>
    
    <head>
    
    
    <SCRIPT LANGUAGE="JavaScript">
    <!--
    var isNav4, isIE4;
    if (parseInt(navigator.appVersion.charAt(0)) >= 4) {
    isNav4 = (navigator.appName == "Netscape") ? 1 : 0;
    isIE4 = (navigator.appName.indexOf("Microsoft") != -1) ? 1 : 0;
    }
    function fitWindowSize() {
    if (isNav4) {
    window.innerWidth = document.layers[0].document.images[0].width;
    window.innerHeight = document.layers[0].document.images[0].height;
    }
    if (isIE4) {
    window.resizeTo(500, 500);
    width = 500 - (document.body.clientWidth -  document.images[0].width);
    height = 500 - (document.body.clientHeight -  document.images[0].height);
    window.resizeTo(width, height);
       }
    }
    // -->
    </script>
    
    
    <meta http-equiv="Content-Type" content="text/html; charset=windows-1252">
    <title>Zoom</title>
    </head>
    
    <body topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0" onLoad="fitWindowSize()">
    
    
    
    
    <div style="position:absolute; left:0px; top:0px">
    [img]IMAGES/FOTO_G/<%=nomefoto%>[/img]
    </div>
    
    
    
    
    
    </body>
    
    </html>
    come posso modificarlo perchè si veda anche in firefox??? lo script che avevo messo prima di questo forse era più compatibile ma aveva dei problemi nel caricamento dell'immagine, bisognava fare un refresh se l'immagine era troppo pesante.

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    lo sniffing su proprieta' dell' oggetto navigator non e' cosa molto fine:
    cambiano troppo tra browser simili (o troppo poco tra browser completamente dissimili)
    senza considerare che potrei assegnare x es. useragent completamente inventato al mio browser

    inizia col non mettere l' immagine in layer, ma togli margini, padding e overflow al body e all' html con i css
    codice:
    body, html {
    	padding:0;
    	margin:0;
    	overflow:hidden;
    }
    in document.images[0].width avrai sempre la larghezza dell' immagine, ovunque javascript sia supportato (a patto di richiedere il dato a caricamento avvenuto)

    innerWidth e' supportato tanto da MOZ e affini quanto da NN4 (e anche da opera che pero' non ridimensiona le finestre), quando restituisce undefined passa a valutare IE che restituisce il valore atteso, a seconda che ci si trovi o meno in documento con doctype valido, in document.documentElement.clientWidth o in document.body.clientWidth
    (puoi richiedere questo valore solo quando gia' esiste un tag body)

    x tagliare corto, proverei qualcosa del genere
    codice:
    <script type="text/javascript">
    <!--
    function getBrWH(){
    	var dims={w:0,h:0};
    
    	dims.w=(window.innerWidth)?window.innerWidth:
    		(document.documentElement.clientWidth)?document.documentElement.clientWidth:
    		(document.body.clientWidth)?document.body.clientWidth:0;
    
    	dims.h=(window.innerHeight)?window.innerHeight:
    		(document.documentElement.clientHeight)?document.documentElement.clientHeight:
    		(document.body.clientHeight)?document.body.clientHeight:0;
    
    	return dims;
    }
    
    function resizeBr(){
    	var i={w:document.images[0].width,h:document.images[0].height};
    	var br0=getBrWH();
    	self.resizeTo(br0.w,br0.h);
    	var br1=getBrWH();
    	self.resizeTo(i.w+(br0.w-br1.w),i.h+(br0.h-br1.h));
    }
    
    window.onload=resizeBr;
    //-->
    </script>
    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 © 2024 vBulletin Solutions, Inc. All rights reserved.