<%
'ADV_ORGANIZER 1.0 | formato, categoria, base, altezza, unico, disposizione, voto, dove, numero,tipo,refresh,output
response.write(organize_adv(0,categoria,120,600,,,7,,1,0,1,))
%>
|
DEFINIZIONE
Innanzitutto per "inclusioni" si intende quella tecnica (massicciamente
adottata oggi in rete) che prevede l'inserimento di codice (di vario genere)
all'interno di una pagina web (ma questo è solo un esempio). Esistono
diversi tipi di inclusioni ma in sostanza possiamo suddividerli in due
grandi gruppi: lato client (client-side) e lato server (SSI, server-side
include). In questo tutorial non scenderemo nel particolare del codice ma
ci limiteremo ad analizzare le "strategie" di inclusione con
semplici esempi.
INCLUSIONI LATO CLIENT
Per includere un file in un altro lato client è possibile:
-
Frame - Utilizzare dei frame, creando così una pagina HTML
unicamente adibita a "cornice" delle altre pagine che, più che "incluse",
si potrebbero definire "affiancate" (vedere anche l'uso dei frame); la
pagina "cornice" dovrà contenere solo il frameset (da posizionare prima
della tag "<BODY></BODY>"):
<frameset rows="10%,*" border="0">
<frame name="nomeZero" src="directory/file_superiore.htm" marginwidth="10"
marginheight="10" scrolling="auto" frameborder="0">
<frameset cols="10%,*" border="0">
<frame name="nomeUno" src="directory/file_sinistra.htm" marginwidth="10"
marginheight="10" scrolling="auto" frameborder="0">
<frame name="nomeDue" src="directory/file_destra.htm" marginwidth="10"
marginheight="10" scrolling="auto" frameborder="0">
</frameset>
</frameset>
-
Iframe - Adottare il più moderno iframe, ovvero una specie di
"finestra" interna ad una normalissima pagina HTML, ecco un esempio:
<iframe name="nostroIframe" src="directory/nome_file_incluso.htm">
Qui è possibile inserire del testo visibile ai browser
che non sopportano questa tecnologia.
</iframe>
-
SHTML - Utilizzare, se supportate dal proprio server, pagine SHTML (ovvero server-parsed HTML), uguali in tutto e per tutto a delle
comuni pagine HTML se non per il fatto di poter inserire file esterni:
<!--#include file="directory/nome_del_file.htm" -->
-
Javascript - Implementare inclusioni JavaScript, stampando ovvero il
codice (in una normalissima pagina HTML) tramite "document.write" da un
file .JS esterno così richiamato:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="directory/nome_dello_script.js"></SCRIPT>
-
CSS - Se l'obiettivo è invece avere una grafica omogenea
tramite CSS (e nient'altro) basta semplicemente mettere tutta la
formattazione in un file .CSS (leggere anche i CSS (Cascading Style sheet))
e aggiungere all'interno della tag "<HEAD></HEAD>" di una comune pagina
HTML:
<link rel="STYLESHEET" href="directory/nome_del_file.css" type="text/css">
INCLUSIONI LATO SERVER
Per includere un file lato server è invece possibile:
-
ASP - Su un server Windows che supporta ASP o ASP .NET
rispettivamente:
<!-- #INCLUDE FILE="directory/nome_file.asp" -->
<!-- #INCLUDE FILE="directory/nome_file.aspx" -->
-
PHP - Su un server Linux che supporta PHP:
<? include("nome_file.php"); ?> <? require("nome_file.php"); ?>
-
FrontPage - Utilizzare, se supportate dal proprio server, le
estensioni di FrontPage, ecco un esempio della sintassi (generata
dall'editor Microsoft):
<!-- webbot bot="Include" U-Include="directory/nome_del_file.htm" TAG="BODY" -->
-
Dreamweaver - Una quarta via è quella proposta ad esempio da Dreamweaver, una
pagina-modello (in questo caso un template con estensione .DWT) che, una volta
modificato, all'interno di ben determinate aree, altera tutti gli altri
file in cui quel modello è stato impostato:
<!-- #BeginEditable "spazio_comune" -->
Tutto ciò che viene scritto qui comparirà
in tutte le altre aree da noi stabilite!
<!-- #EndEditable -->
I VANTAGGI E LE PROBLEMATICHE
Ecco i vantaggi e le problematiche elencati in una semplice tabella:
N |
INCLUSIONI |
LATO |
SUPPORTO |
PRO |
CONTRO |
1 |
Frameset |
Client |
Completo (su tutti i browser più
diffusi) |
Di semplice utilizzo offre
interazione di codice lato client |
Problemi con i motori di ricerca
- Le pagine risultano del tutto disgiunte |
2 |
Iframe |
Client |
Su alcuni browser incompleto |
Molto versatile offre interazione
di codice lato client |
Contiene come i frame una pagina
esterna |
3 |
SHTML |
Server |
Completo (se il server lo supporta) |
Inclusione non invasiva, ottima
per file che non richiedono interazione lato server |
In genere non può contenere pagine con codice lato server |
4 |
JavaScript |
Client |
Completo (su tutti i browser più famosi) |
Permette di includere anche file
con estensioni diverse da .JS (es. .ASPX o .PHP) |
Ciò che contiene viene quasi
ignorato dai motori - Interazione lato server può esserci ma
limitata |
5 |
CSS |
Client |
Su browser datati: incompleto o assente |
Con un unico file è possibile
gestire forme, posizioni, colori, ecc. delle pagine |
Permette solo interazioni
grafiche, nessuno scripting (nè lato client nè lato server) |
6 |
ASP/PHP |
Server |
Completo (se il server supporta
ASP o PHP) |
Permette una grande interazione:
raccolta dati, personalizzazione dell'output, ecc. |
Funziona solo internamente a pagine dinamiche
(o interpretate dal server come tali) |
7 |
FrontPage |
Server |
Completo (se il server lo supporta) |
Semplice e versatile |
A volte soggetto a errori o
alterazioni - Legato ad una tecnologia non troppo continuativa |
8 |
Dreamweaver |
Offline |
Completo (su tutti i browser) |
L'inclusione avviene offline, il
file che risulta è una comune pagina contenente la parte da
annettere |
Nessuna interazione di codice
lato server - Necessità di aggiornamento di tutti i file ad ogni
modifica |
SOLUZIONI
Non esiste un'inclusione migliore di un'altra, a seconda dei casi è
necessario scegliere quella che si reputa più adatta:
-
Se ad esempio si
desidera una buona posizione nei motori di ricerca sarà più conveniente
un'inclusione Dreamweaver, iframe, SHTML, FrontPage o #INCLUDE (evitando
di passare più di una variabile, es. "cas.aspx?id=1&user=13&numero=354&nome=cane").
-
Se il fine è invece la velocità: JavaScript, Dreamweaver, iframe o
frameset.
-
Se l'obiettivo è il supporto lato client: Dreamweaver, #INCLUDE,
JavaScript o SHTML.
-
Se il file da includere è indispensabile (indici, menù importanti,
ecc.): Dreamweaver, frameset, SHTML o #INCLUDE.
Per quanto concerne invece i problemi dei frameset si potrebbe provare a
risolverne qualcuno aggiungendo in cima al codice della pagina
"cornice":
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Frameset//EN" "http://www.w3.org/TR/html4/frameset.dtd">
E il codice seguente dopo il frameset:
<noframes><body>Il frameset non è visibile!</body></noframes>
Se invece si dovesse stampare del codice JavaScript in una pagina in
HTML
tramite una pagina asp o aspx basterebbe scrivere:
<SCRIPT LANGUAGE="JavaScript" TYPE="text/javascript" SRC="directory/nome_dello_script.aspx"></SCRIPT>
Facendo moltissima attenzione nell'aggiungere all'interno del file aspx
(o asp) la dichiarazione del tipo di contenuto, esempio:
Response.ContentType = "text/javascript"
|