# Problemi con Safari

**URL:** <https://www.ruby-forum.com/t/problemi-con-safari/151448>\
**Category:** IT\
**Created:** [October 21, 2008, 4:34pm UTC](https://www.ruby-forum.com/t/problemi-con-safari/151448 "2008-10-21T16:34:06Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [October 21, 2008, 4:34pm UTC](https://www.ruby-forum.com/t/problemi-con-safari/151448/1 "2008-10-21T16:34:06Z")

</div>

Ciao a tutti.

Sto programmando un sito. Lo trovate all’indirizzo

[http://diem1.ing.unibo.it/meccanica/](http://diem1.ing.unibo.it/meccanica/)

Funziona come dovrebbe su Firefox e su IE, ma Safari (e anche Opera) mi  
danno dei problemi. In pratica provate a cliccare sulla voce staff (o  
Research) nel menu di sinistra piÃ¹ volte. Metre Firefox produce sempre  
lo stesso risultato, Safari presenta una pagina aleatoria, si potrebbe  
usare per il superenalotto! Non riesco a capire il problema.

In pratica utilizzo una funzione Javascript che prima mi carica una  
pagina con un elenco ordinato di

 e poi li riempie con alcune  
pagine .xml a seconda degli argomenti passati alla funzione.

Sono impazzito a cercare un debugger per Safari, alla fine ho installato  
quello con Webkit. PerÃ² mi dÃ solo tre errori nella pagina iniziale, e  
nessun errore qunado clicco su Staff. Non riesco a capire.

Un altro fenomeno strano e che, se carico la pagina, poi vado in un  
altro indirizzo e quindi torno indietro, spesso il sito funziona come  
dovrebbe. Se aggiorno perÃ² siamo daccapo.

Per favore aiutate un povero inetto del web! Grazie mille

Michele

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [October 21, 2008, 5:06pm UTC](https://www.ruby-forum.com/t/problemi-con-safari/151448/2 "2008-10-21T17:06:27Z")

</div>

Michele Conconi wrote:

> In pratica utilizzo una funzione Javascript che prima mi carica una  
> pagina con un elenco ordinato di
> 
> e poi li riempie con alcune  
> pagine .xml a seconda degli argomenti passati alla funzione.
> 
> Sei sicuro di usare soltanto funzioni Prototype per accedere al DOM?
> 
> Ho visto che ogni tanto, per esempio, usi
> 
> $(elenco[j]).innerHTML = str;  
> invece di  
> $(elenco[j]).update(str);
> 
> o
> 
> $(prevPage).className = ‘’;  
> al posto di  
> $(prevPage).removeClassName(’…’);
> 
> Non sono certo che il problema sia in queste particolari funzioni, ma  
> esaminare tutto il tuo codice mi richiederebbe un tempo che non ho.
> 
> In particolare, stai attento all’uso diretto di attributi degli elementi  
> DOM.  
> A me hanno spesso causato problemi di compatibilita’.
> 
> Claudio

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [October 22, 2008, 10:25am UTC](https://www.ruby-forum.com/t/problemi-con-safari/151448/3 "2008-10-22T10:25:07Z")

</div>

Intanto grazie per avermi risposto. Come avrai capito sono un  
autodidatta alle primissime armi, percui non ho capito subito il senso  
dei tuoi commenti. PerÃ² stimolato ho cercato un pÃ² in giro.

Ho aggiornato il Prototype.js all’ultima versione e introdotto le  
modifiche che mi hai suggerito. E’ interessante che non sia cambiato il  
comportamento del sito ne’ su Firefox ne’ su Safari.

Guardando meglio il WebInspector di Safri ho visto che il problema Ã¨ il  
seguente. Io ho un elenco di div, tipo

...

e una funzione di Javascript che li dovrebbe riempire con i  
corrispettivi files. Il problema Ã¨ che in alcuni div non viene proprio  
caricato nessun contenuto, senza nessuna ripetitibilitÃ . Da cosa  
potrebbe dipendere secondo te?

Il codice in question Ã¨ tipo

setContentInList(id1,subMenu.AssistantProfessor[‘0’],‘AssTitle’);  
setContentInList(id1,subMenu.AssistantProfessor[‘1’],‘Ass1’);  
setContentInList(id1,subMenu.AssistantProfessor[‘2’],‘Ass2’);…

dove

function setContentInList(id1,A,B)  
{  
var url = ‘xml/’+id1+’/’+A+’.xml’;  
var comp = function(t){setMyContent(t, B);}  
var error = function(){alert(‘errore’);}  
var myAjax = new Ajax.Request(url,{method:‘get’,onSuccess:comp,  
onFailure:error});  
}

e

function setMyContent(t, id){  
var str = t.responseText;  
var el = $(id).update(str);;  
}

Ti ringrazio fin d’ora per quasiasi suggerimento mi potrai dare.

Michele

---

<div class="post-metadata">

**Author:** ![miclab](https://www.ruby-forum.com/letter_avatar_proxy/v4/letter/m/a3d4f5/32.png) [@miclab](https://www.ruby-forum.com/u/miclab)\
**Post date:** [October 27, 2008, 11:00am UTC](https://www.ruby-forum.com/t/problemi-con-safari/151448/4 "2008-10-27T11:00:04Z")

</div>

Michele,

il problema potrebbe essere un po’ ovunque.

Non so come si faccia con WebInspector, ma hai provato a guardare il  
contenuto delle richieste ricevute dal server e quello delle risposte?  
Il punto dove estrai il responseText sembra l’ideale per fare del  
debugging. Tra l’altro se googli Safari responseText trovi delle cose  
interessanti, come ad esempio

> **[xhr.responseText whitespace problem](https://www.webmasterworld.com/javascript/3678579.htm)**
>
> News and discussion for the independent webprofessional

PuÃ² anche darsi che Safari sia particolarmente schizzinoso sui contenuti  
che riceve e li butti via se c’Ã¨ qualcosa che non va.

E casomai quella pista non portasse da nessuna parte, facciamo un passo  
indietro: le richieste arrivano al server? Controlla nei log.

Ciao  
Paolo
