Newsgroup: it.comp.www.php
Titolo: per esperti: lettura pagine in php

Ciao a tutti, vi rivolgo un quesito un po' particolare, confidando 
nell'aiuto soprattutto dei più esperti.
Ho un sito in php con il classico layout a 3, ossia la colonna a 
sinistra che contiene il menu, la parte centrale con i titoli delle 
notizie e la colonna di destra con un elenco di links.
Ho un piccolo problema/bug di visualizzazione in fase di lettura delle 
varie pagine, ossia ho notato che il motore del browser (nel mio caso 
firefox) non esegue il codice delle tre parti contemporaneamente ma 
esegue quello della colonna di sinistra, quindi esegue quello della 
parte centrale e alla fine la colonna di destra. Tutto ciò avviene quasi 
all'istante con gli altri browsers e quando il browser finisce di 
eseguire tutti gli script visualizza il layout per intero. Ma con 
firefox no.
Praticamente appaiono le prime due parti all'istante e la parte centrale 
sovrapposta per circa un secondo alla colonna di destra, quindi si 
restringe (fa uno scatto rapido) e fa spazio al contenuto della colonna 
di destra.
La domanda: esiste un modo per far leggere prima lo script della colonna 
di destra e poi quello della parte centrale?
La struttura e basata su include. Nella home page ci sono tre include 
uno dopo l'altro:
<include ... colonna sx
<include ... corpo centrale
<include ... colonna dx
Spero di essere stato chiaro, il problema sembra del motore di firefox, 
voi come risolvereste?
Mattia

 voi come risolvereste?
Non molto perché parli del browser che esegue il codice, per caso 
disponi gli elementi all'interno della pagina con javascript?
Se è solo una questione del caricamento di Firefox che ti fa  vedere per 
un attimo qualcosa io risolverei smettendo di considerarlo un problema, 
et voilà.

Andrea D'Amore ha scritto:

infatti, mi sono rotto le scatole. Purtroppo a volte la pignoleria fa 
rinco****nire.
Se qualcuno ha avuto questo tipo di problemi con firefox mi piacerebbe 
comunque sentire come ha risolto, altrimenti si vive bene uguale.
Mattia

 di destra.
Non e` un problema di PHP, ma di codice generato.
Forse puoi alleviare il problema facendo buffering della pagina lato 
server (con ob_start() e compagnia) e mandando tutto al browser in un 
colpo solo.
Ma credo che sia semplicemente troppo grosso il css, o caricato troppo 
tardi, o troppo grossa o complessa la pagina (a livello di html, intendo), 
quindi FF impiega un po' di tempo per calcolare gli ingombri mentre la 
renderizza.
Puoi "forzare" FF al comportamento che hanno gli altri browser ("aspetta 
di aver scaricato tutto prima di iniziare a mostrarmi la pagina") tramite 
un'impostazione in about:config, ma non mi ricordo esattamente quale.
Bye.


La pagina è disegnata male in HTML. Se c'è uno spostamento dei blocchi
significa che questi non sono posizionati come si deve, ed il browser
finchè non trova gli altri li manda a giro per lo schermo. La tua non
è pignoleria, fai bene a sistemare questo problema perchè ci sono
anche utenti (come me) che appena vedono obrobri del genere (e
purtroppo se ne vedono molti) chiudono il sito e ne cercano un'altro.
Secondo me due sono le soluzioni possibili: 1- cerca di reimpostare il
posizionamento dei blocchi non sul css ma inline (così il browser non
aspetta di caricare il css per fare il posizionamento) e controlla che
siano messi bene indipendentemente dagli altri (questo potrebbe essere
impossibile, ed in quel caso vedi il punto 2) 2- metti un "table" per
gestire il layout: è di gran lunga la soluzione più veloce e logica.
Le dimensioni delle colonne sono specificate subito e il renderer non
deve fare fatica a piazzare e ripiazzare gli oggetti a destra e a
manca.
Ciao!

 a piazzare e ripiazzare gli oggetti a destra e a manca.
Non e` vero.
Semplicemente tutti i browser, quando vedono una table, aspettano di 
averla completa prima di disegnarla, quindi in realta` rallentano la 
visualizzazione della pagina. Mentre se vedono dei div li disegnano man 
mano che arrivano, permettendoti di leggere il contenuto.
Tra l'altro e` uno dei motivi per cui si cerca di mettere per primo il div 
col contenuto centrale e poi quelli per le sidebar.
Inoltre le dimensioni delle table variano continuamente, anche se imposti 
il width ai td. Per esempio se una colonna contiene immagini a cui non hai 
specificato width e height e sforano il width che hai impostato nel td che 
le contiene, il layout della pagina cambia continuamente mentre il browser 
scarica le immagini.
Inoltre il width del td non viene rispettato se per caso hai una parola 
senza spazi (o con &nbsp;) troppo lunga per starci (mentre coi css puoi 
impostare overflow:auto per far apparire la srollbar).
Insomma: lasciamo perdere le table per il layout che sono Il Male (tm).
Bye.

 un'impostazione in about:config, ma non mi ricordo esattamente quale.
ok ma a che serve? Solo il mio firefox risolverebbe il problema...
Ti ringrazio per i consigli.
Mattia

 Bye.
Yo!

potreste indicarmi il vostro indirizzo email cosi' vi linko direttamente 
il sito?
Grazie.

 volte serve un'altra.
Appunto. Nota come anche nei giornali ci siano blocchi per i vari 
articoli, mentre le colonne sono dentro i blocchi, per incolonnare il 
testo secondo le convenzioni tipografiche (non piu` di tot caratteri per 
riga, per esempio).
Sul web e` tutt'altra cosa e non bisogna (IMHO) adottare quasi nessuna 
delle convenzioni tipografiche tradizionali.
Bye.

 il sito?
La consulenza privata costa.
Linkalo qui e chi ha tempo/voglia commenta.
Bye.

Alessandro Pellizzari ha scritto:

infatti ti pago.
Per cortesia dammi il tuo indirizzo email.
Grazie.


Su questo sono più che d'accordo. ++

no.
Probabilmente, in remoto ci impiega cosi' tanto a caricare la pagina
(diciamo 30 millisecondi invece di 1) che ha il tempo di farsi tutti
i calcoli nel frattempo.
In questo caso il problema esisterebbe solo in locale, o se qualcuno
si collega con una HSDSL o in fibra ottica :-)
Leonardo
-- 
And where the black and corkscrew towers climb,
Lost and athirst the ragged pack abides,
Old as the aeons, trapped in tombs of time,
Sailing the tortuous temporal tides

 soluzione piů veloce e logica
E in quel caso lo chiudo io.
;-)

Alessandro Pellizzari ha scritto:

ff ha un problema sulle pagine di dimensione >500 /600 kb di testo
su quella da 1mb non ne parliamo e' INDECENTE ie le gestisce anche da
5mb (rarissimo, non ne incontro da 1 anno)

 5mb (rarissimo, non ne incontro da 1 anno)
Ebbè, è un browser... secondo me non ci ha proprio pensato nessuno che
una pagina potesse essere così grossa.


una curiosità... ma il css lhai linkato all'inizio o alla fine
dell'html generato? metterlo all'inizio è una buona cosa, in certi
casi mi ha risolto problemi simili al tuo