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

    javascript incompatibile con alcuni browser

    Salve ragazzi sono nuovo di qui e quindi vi saluto a tutti.

    Passiamo al problema di cui non riesco a trovare una soluzione plausibile...

    Cercando in rete ho trovato uno script free che permette tramite il codice javascript di fare un Resize automatico delle immagini presenti nella pagina HTML , in poco parole se l'immagine X e' grande 500 * 700 il codice javascript interviene ridimensionando l'immagine a tot pixel in cui e' stato impostato (e' facilmente configurabile).

    Ora il problema si propone quando provo tutto in locale e cioe' i seguenti browser:
    Internet Explore 8.0 beta
    Opera 9.52

    Eseguono alla perfezione lo script

    Mentre i seguenti browser non lo eseguono per nulla che sono:

    Mozilla Firefox 3.03
    Safari 3.22

    Ho provato ha modificare lo script ma non ne sono riuscito a venir a capo spero che qualcuno di voi mi possa indirizzare nella strada piu giusta da seguire affinche tutti i browser (almeno quelli piu comuni) lo script venga letto correttamente.

    Qui vi metto lo script incluso codice HTML :

    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>Untitled Document</title>
    </head>
    <body>
    [img]WEB_Site_Cardinal/Site/www.cardinal3d.com/_include/images/dark_queen.jpg[/img]
    </body>
    </html>

    <script language="javascript" type="text/javascript">
    <!--
    var max_width = 250;
    var max_height = 400;
    if (document.images) {
    for (i = 0; i < document.images.length; i++) {

    while ( !document.images[i].complete ){
    break;
    }
    if ( document.images[i].width > 450 ){
    var imagetoprocess = document.images[i];
    var old_width = imagetoprocess.width;
    var old_height = imagetoprocess.height;
    imagetoprocess.width = max_width;
    imagetoprocess.height = Math.round(old_height * max_width / old_width);
    }
    }
    }
    //-->
    </script>

  2. #2
    io non l'avrei proprio fatto cosi, comunque credo che il problema sia che non tutti i browser usano complete per gestire il caricamento delle immagini e, comunque, non alla stessa maniera. Fallo così:

    Codice PHP:
    <script language="javascript" type="text/javascript">
    <!--
    window.onload = function(){
        var 
    max_width 250;
        var 
    max_height 400;
        if (
    document.images) {
            for (
    0document.images.lengthi++) {
            
                if (
    document.images[i].width 450) {
                    var 
    imagetoprocess document.images[i];
                    var 
    old_width imagetoprocess.width;
                    var 
    old_height imagetoprocess.height;
                    
    imagetoprocess.width max_width;
                    
    imagetoprocess.height Math.round(old_height max_width old_width);
                }
            }
        }
    }
    //-->
    </script> 

  3. #3
    Grazie tante

    Funziona con tutti i browser ora grazie mille ecco dove c'era lo sbaglio...

    Comunque per curiosità tu invece come lo avresti fatto?

    Mi piacerebbe sentire altre versioni per arrivare sempre allo stesso obiettivo

    Ti ringrazio di nuovo sei stato davvero gentile.

  4. #4
    beh, se devo aspettare che un'immagine sia caricata, poi, ridimensionarla, potrebbe darsi che, con un numero elevato di immagini di immagini, il sito rimanga con le stesse nelle dimensioni reali troppo a lungo.

    Io, avrei settato la proprietà CSS dei tag img da ridimensionare con width fisso, in modo che non si visualizzi più grande di così, senza usare JS.

  5. #5
    Ho capito si in un sito che ho fatto ho sfruttato i CSS per il ridimensionamento delle immagini anche se alla fine per non far pedere tanta qualità alla immagine l'ho ridimensionata io con il programma apposito.

    Per lo script me lo ha chiesto un amico se esistesse uno script capace di ridimensionare il tutto senza che lui ogni volta dovesse ridimensionare le immagini che hanno soltanto lo scopo di una piccola anteprima ... quello dei css lo avevo pensato anche io ma nel suo sito non c'e' uno strato di css e questo significa che io dovrei rimettere le mani al suo sito per poi riadattarlo con i CSS un lavoro alla gran lunga piu difficoltoso ma il problema sussisterà se qualcuno ha una connessione lenta e quindi dovra aspettare che tutte le sue immagini vengono caricate e poi ridimensionate e questo problema io non ne avevo dato molto peso a dire la verita.

    Grazie comunque per la tua delucidazione

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.