Newsgroup: it.comp.www.php
Titolo: javascript visualizzato e non eseguito su alcuni browser

Salve,
al lavoro hanno deciso di adottare una suddivisione della pagina php che prevede una cosa del tipo
 
paginaesempio.php
   e dentro una struttura 
 
include_once("compilazione.business.php");
 
include_once("compilazione.css.php");
 
include_once("compilazione.js.php");
 
include_once("compilazione.view.php");
 
ora:
include_once("compilazione.js.php");
 
è scritto in questo modo
 
<?php
// solo commento per descrivere il javascript
?>
<script type="text/javascript">
......
</script>
 
il problema:
tutto questo include di paginaesempio.php....è a sua volta dentro un altra serie di include
 
ad esempio
index.php-> include(paginaesempio.php)->include(compilazione.js.php)
DENTRO AL BODY
 
il difetto:
firefox (una vecchia versione....) non ha problemi ed interpreta tutto.
Chrome Explorer Safari
prrrrrrrrrrrrrr mi mostrano il javascript (come se fosse un testo) e non mi eseguono il javascript.
Se guardo il sorgente pagina però è correttamente inserito tra tag <script>
 
Ho provato a cambiare codifica del file....
a mettere tutto dentro una variabile e farla stampare da php con una echo...ma su questi browser il difetto persiste.
I browser hanno tutto configurato correttamente...tanto è vero che altre pagine con javascript vengono eseguite.
 
Ho inserito un php_eol alla fine del file....controllato BOM e quant'altro.
 
Avete esperienza in merito? Che cosa può essere? io ipotizzo un problema di codifica o formato negli include ma non saprei come ovviare!
 
p.s.
E' presente jquery negli include iniziali
 
 
Grazie  dell'aiuto
 
 
 

 DENTRO AL BODY
CUT
 
Allora io comincerei a provare ad includere tutte le singole
pagine una volta sola dentro all'index.php, cosï¿œ da cominciare
ad escludere fattori relativi all'inclusione a cascata o
cmq in modo da indagare se c'ï¿œ qualche altro problema da
qualche altra parte che interferisce.
 

 Ho provato a cambiare codifica del file....
 
A parte la perversione di mettere del puro javascript all'interno di un 
file php... assicurati di avere all'inizio del file php la riga:
 
header('Content-type: application/javascript');
 
Facci sapere come va a finire...
 
Ciao.
 
-- 
Pubblicita' regresso: 
http://www.ferrero.org
 
** Per scrivermi in mail, sostituire nutella con ferrero...
** To contact me by email, change nutella to ferrero...

</script>
 
perche' nella prima parte gli servirebbe:
 
	<?php
		// Commento
		Header("Content-Type: text/javascript;charset=utf8");
	?>
 
e ai CSS stessa cosa con text/css.
 
Con Header() risolvi il problema piccolo, ma io insisto che dovresti chiedere
almeno di _PROVARE_ un template engine. Potrebbe cambiarti la vita :-)
 
Leonardo
 
-- 
Were I Glenallan's Earl this tide, and were you Roland Cheyne,
My spur would be in my horse's side, the bridle upon his mane.
If they hae twenty thousand blades and we twice ten times ten,
Yet they hae but their tartan plaids, and we're mail-clad men.

 	?>
 
L'uso di Header in un include non gli può dare problemi se generano 
output senza output buffer prima degli include?
 
Cioè non capisco bene il vantaggio di usare Header() in un file che non 
viene servito via HTTP ma viene incluso all'interno dell'interprete PHP.

 Grazie  dell'aiuto
 
Prego

viene servito via HTTP ma viene incluso all'interno dell'interprete PHP.
 
Uhmmmm... rileggendo il post originale, mi rendo conto di aver frainteso
la faccenda (rimane vero che un template engine e' desiderabile :-) ), e
ho detto una sciocchezza terrificante.
 
Allora scritto com'e' scritto nel post originale, deve funzionare. Punto
e basta. Nel file HTML di arrivo c'e' uno script Javascript e il browser
non ha modo di sapere se c'era gia', se e' incluso via PHP, o se ce l'ha
messo li' lo Spirito Santo.
 
Se Chrome non lo interpreta e "lo mostra come testo", c'e' un errore nel
processo PHP. Si puo' provare a diagnosticarlo rimuovendo tutti quanti i
compilazione_* (tranne quello che da' problemi), e reinserendoli uno per
volta. L'unica cosa, cosi' sui due piedi, che credo possa causare simili
effetti e' un bel
 
	<textarea>
 
messo a tradimento :-) (non sono sicuro di <pre>: mi sa di no).
 
Leggendo di furia, m'ero sognato che il file fosse un .js con estensione
PHP e fosse incluso con <script src="roba.php"></script>.
 
Ma mi sbagliavo, ed e' come dici tu: una serie di Content-Type messi uno
via l'altro con include "file" farebbero un casino che la meta' basta.


 e basta.
 
Dato che di fatto l'OP vede che non funziona io suggerisco di mostrare 
un esempio minimo del problema. Probabilmente già il fatto di creare 
l'esempio minimo da mostrare in pubblico metterà in evidenza agli occhi 
dell'OP dove sia il problema.

 pubblico metterà in evidenza agli occhi dell'OP dove sia il problema.
 
Ovviamente questo renderà inutile la creazione stessa dell'esempio 
minimo che non verrà scritto creando così un paradosso temporale. A 
quel punto un cyborg creato da "Skynet - Fondazione Apache" proveniente 
dal futuro comparirà nel presente e piallerà tutte le istallazioni di 
mod_php del pianeta.


Ecco perche' oggi non mi funziona nulla... allora sto tranquillo, non e' colpa mia!

 colpa mia!
 
Devi istallare PHP-T1000-FPM o verrai terminato.


Ed io che pensavo che la MOD_SARA_CONNOR potesse bastare, che ingenuo!