Pagina 1 di 4 1 2 3 ... ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 37
  1. #1

    Errore array strano ( differenza WIN e MAC )

    Ho il seguente errore strano che si verifica solo su WIN ( su MAC funziona )

    Codice:

    var test="";
    test=img_for_work[start];
    alert(test[0]);

    OUTPUT:
    su MAC mi visualizza "images.jpg|prova.jpg" ( output corretto)
    su PC invece mi visualizza UNDEFINED

    Dov'è l'errore?

  2. #2
    Nessuna sa dove sbaglio?

  3. #3
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    non è che magari da qualche parte nel codice definisci la variabile test (o l'array img_for_work)
    a seconda del browser che stai usando?

    Quando dici che il comportamento è differente su piattaforme diverse stai usando comunque lo stesso borwser o browser diversi?
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  4. #4
    Per MAC uso Safari ( oppure Firefox ) mentre su PC uso IE.
    La cosa strana è che se faccio un alert sembra tutto ok.
    Inoltre mi sono accorto che se faccio alert(test[0]) su MAC mi restituisce il valore corretto mentre su PC mi restituisce UNDEFINED mentre se faccio alert(test[0].value) su PC l'output è corretto e su MAC è UNDEFINED.
    Ti ricordo che test[0] contiene la stringa "images.jpg|img.jpg".
    Non capisco dov'è l'errore.

  5. #5
    Frontend samurai L'avatar di fcaldera
    Registrato dal
    Feb 2003
    Messaggi
    12,924
    direi che sarebbe meglio vedere tutto il codice javascript (posta un link) che utilizzi per averne almeno una vaga idea... altrimenti si possono fare solo supposizioni
    Vuoi aiutare la riforestazione responsabile?

    Iscriviti a Ecologi e inizia a rimuovere la tua impronta ecologica (30 alberi extra usando il referral)

  6. #6
    function cambia(cliente,descrizione,start,end,indice,n) {

    $num=end-start;
    document.getElementById("last").innerHTML = '';
    document.getElementById("miadescrizione2").innerHT ML = '';
    document.getElementById("miocliente").innerHTML = cliente;
    document.getElementById("miadescrizione").innerHTM L = descrizione;
    var img="";
    for (i=6;i<immagini[start].length;i++)
    img+=immagini[start][i];
    document.getElementById("miaimmagine").src = "portfolio/"+immagini[start];
    var myimg = new Image();
    myimg.src="portfolio/"+immagini[start];
    var dim_w=myimg.width;
    var dim_h=myimg.height;
    if (dim_w >= dim_h) {
    var rate=dim_w/300;
    dim_h=dim_h/rate;
    dim_w=300;
    }
    else {
    var rate=dim_h/300;
    dim_w=dim_w/rate;
    dim_h=300;
    }
    document.getElementById("miaimmagine").width = dim_w;
    document.getElementById("miaimmagine").height = dim_h;
    document.getElementById("miolink").href = "portfolio/"+img;
    document.getElementById("miolink").rel = "zoom:"+myimg.width+","+myimg.height+",miaimmagine ";
    for (i=start;i<=end;i++)
    if ($num >= 0)
    for ($k=0;$k<=$num;$k++) {
    $tmp="tipo";
    $tmp+=$k;
    $page="page";
    $page+=$k;
    document.getElementById($tmp).innerHTML = lavori[start];
    var test="";
    test=img_for_work[start]; <--------------------
    while (test[i] != "*") {
    var file="";
    var cont=1;
    while (test[i] != "|") {
    if (cont > 6)
    file+=test[i];
    else
    cont=1*cont+1*1;
    i=1*i+1*1;
    }
    var myimg2 = new Image();
    myimg2.src="portfolio/"+file;
    var dim_w2=myimg2.width;
    var dim_h2=myimg2.height;
    testo+="<a href=javascript:loadImg('"+file+"','"+dim_w2+"','" +dim_h2+"')>"+j+"</a>";
    alert(testo);
    i=1*i+1*1;
    j=1*j+1*1;
    }
    document.getElementById($page).innerHTML = testo;
    start=1*start+1*1;
    }
    for ($j=$k;$j<=20;$j++) {
    $tmp="tipo";
    $tmp+=$j;
    document.getElementById($tmp).innerHTML = '';
    $page="page";
    $page+=$j;
    document.getElementById($page).innerHTML = '';
    }
    }

    </script>

  7. #7
    img_for_work è definito mediante codice PHP/Javascript nel body ed è definito correttamente.

  8. #8
    Ho provato con firefox su Pc ... funziona.
    Il problema rimane invece con IE.

  9. #9
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    posso consigliarti di non usare il nome "test" in quanto parola riservata di javascript?
    potrebbe non influire nel tuo caso specifico ma e' buona pratica evitare di assegnare come nomi arbitrari i nomi di qualsiasi proprieta', oggetto, funzione nativi di javascript

    anche perche' i problemi possono esserci solo con alcuni browser/piattaforma,
    esattamente come stai sperimentando al momento

  10. #10
    Grazie per il consiglio.
    Purtroppo però il problema non è quello.
    Odio IE.
    Non capisco perchè su Firefox ( su PC e MAC ) funziona, con gli altri browser su MAC funziona e con IE su PC non funziona.

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.