ciao, scusa se rispondo solo ora ma non mi ero accorto del tuo messaggio...
cmq analizziamo i problemi uno per volta:
- (il div si vede, scompare e poi con effetto fade-in ritorna visibile):
una soluzione potrebbe essere di impostare via css il div inizialmente con opacità 0, in modo che non sia visibile.
- (il div non faccia effetto fade-in se la pagina è stata postata):
devi discriminare via php questo caso, magari facendo un print diverso
Codice PHP:
if(isset($_POST['campo'])){ echo "window.onload=function(){ setTimeout('visualizzaDiv()',3000);}";}
else { echo "window.onload=function(){ setTimeout('visualizzaDiv2()',0);}";}
dove visualizzaDiv2() è un'altra funzione javascript che setta a display='block' del div e porta a 100% l'opacita, in modo che sia visibile.
Purtroppo non utilizzo safari, quindi non posso aiutarti per l'altro problema..