Continguts:

INTRODUCCIÓ
Les característiques multimèdia de l'HTML permeten als autors incloure imatges, applets (programes que automàticament es descarreguen i s'executen en la màquina de l'usuari), fragments de video i altres documents HTML en les seves pàgines.

Les versions prèvies de l'HTML permetien als autors incloure imatges (via l'element IMG) i applets (via l'element APPLET). Però aquests elements tenen diverses limitacions:


Per tractar aquestes qüestions l'HTML 4.0 introdueix l'element OBJECT.

Les imatges, i ara també altres objectes inclosos, poden tenir hiperlinks associats a ells via els mecanismes de link estàndards però també bé via els mapes d'imatge. Un mapa d'imatge especifica regions geomètriques actives d'un objecte inclòs i assigna un link a cada regió. Quan s'activen aquests links pot ser que forcin la recuperació d'un document, que executin un programa, etc.

INCLUSIÓ D'IMATGES
L'element IMG insereix una imatge en el document actual, en el lloc de la definició de l'element. Aquest element no té contingut, i generalment és reemplaçat de manera inline per la imatge designada (atribut src), amb l'excepció de les imatges alineades a l'esquerra o a la dreta que són "flotades" fora de la línia.

Per veure com l'element OBJECT pot realitzar també les funcions de l'element IMG considerarem el següent exemple:
   <BODY>
      <P>Aquesta és la foto del meu professor més odiat:
      <IMG src="http://www.uni.com/professors/odiat.png"
           alt="Foto del meu professor més odiat.">
   </BODY>
on s'insereix una fotografia directament en un document. Amb l'element OBJECT el mateix resultat s'assoliria així:
   <BODY>
      <P>Aquesta és la foto del meu professor més odiat:
      <OBJECT data="http://www.uni.com/professors/odiat.png"
              type="image/png">
      Foto del meu professor més odiat.
      </OBJECT>
   </BODY>
INCLUSIÓ GENÈRICA: L'ELEMENT OBJECT
OBJECT
ofereix una solució de propòsit general per a la inclusió genèrica d'objectes. L'element OBJECT permet als usuaris especificar tot el que un objecte requereixi per a ser presentat per un agent d'usuari: el codi font, els valors inicials i les dades de temps d'execució. En aquest manual el terme "objecte" s'utilitza per descriure les coses que la gent vol situar en els documents HTML; altres termes comunament usats per a aquestes coses són: applets, plug-ins, manipuladors de mitjans, etc.

Així, el nou element OBJECT assumeix algunes de les tasques dutes a terme per elements ja existents. La següent taula de funcionalitats:

Tipus d'inclusióElement específicElement genèric
Imatge IMG OBJECT
Applet APPLET (Menyspr.) OBJECT
Un altre document HTML IFRAME OBJECT

indica que cada tipus d'inclusió té una solució específica i una de general. L'objecte genèric OBJECT servirà com a solució per a implementar els tipus de mitjans futurs.

Per a incloure imatges els autors poden utilitzar l'element OBJECT o bé l'element IMG.

Per a incloure applets els autors haurien d'utilitzar l'element OBJECT ja que l'element APPLET està menyspreuat.

Per a incloure un document HTML dins d'un altre els autors poden utilitzar tant el nou element IFRAME com l'element OBJECT. En ambdós casos el document inserit roman independent del document principal. Els agents d'usuari visuals presentaran el document inserit en una finestra diferent dins de la del document principal. Més avall hi ha més informació dobre la inserció de documents i una comparació entre els elements OBJECT i IFRAME per a la inclusió de documents.

La majoria dels agents d'usuari tenen mecanismes propis per a mostrar tipus comuns de dades com text, imatges GIF, colors, fonts i un munt d'elements gràfics. Per a mostrar tipus de dades als quals originàriament no suporten, els agents d'usuari executen aplicacions externes. L'element OBJECT permet als autors controlar si les dades s'haurien de mostrar externament o bé per mitjà d'algun programa, especificat per l'autor, que mostri les dades dins de l'agent d'usuari.

En el cas més general un autor pot necessitar especificar tres tipus d'informació:


L'element OBJECT permet als autors especificar tots aquests tres tipus de dades però pot ser que no s'hagin d'especificar tots alhora. Per exemple, alguns objectes poden no requerir dades (com, per exemple, un applet autocontrolat que cridi una petita animació). Altres, poden no requerir inicialització en temps d'execució. També d'altres, poden no requerir informació addicional d'implementació, és a dir, l'agent d'usuari mateix pot conèixer des d'un principi com mostrar aquests tipus de dades (per ex., imatges GIF).

Via l'element OBJECT els autors especifiquen la implementació d'un objecte i la localització de les dades que han de ser mostrades. Per a especificar valors de temps d'execució, tanmateix, els autors utilitzen l'element PARAM.

L'element OBJECT pot també aparèixer en el contingut de l'element HEAD. Com que els agents d'usuari generalment no mostren els elements del HEAD, els autors haurien d'assegurar-se que qualsevol element OBJECT en el HEAD no especifiqui contingut que hagi de ser mostrat. L'element OBJECT també té un paper en els controls de formulari. Consulteu el tema sobre els formularis.
Regles per presentar objectes
Un agent d'usuari ha d'interpretar un element OBJECT d'acord amb les següents regles de precedència:

  1. L'agent d'usuari primer ha d'intentar presentar l'objecte. No hauria de presentar els continguts de l'element, però ha d'examinar-los en cas que l'element contingui algun fill directe que sigui un element PARAM (veieu la incialització d'objectes) o un element MAP (veieu els mapes d'imatge client-side).
  2. Si l'agent d'usuari no és capaç de presentar l'objecte per alguna raó (no està configurat adientment, li falten recursos, no té l'arquitectura necessària, etc.), ha de provar de presentar els seus contiguts.

Els autors no haurien d'incloure contingut en els elements OBJECT que apareguin en l'element HEAD.

Per exemple, farem una inserció d'un applet de rellotge analògic en un document via l'element OBJECT. L'applet, escrit en llenguatge Python, no requereix cap dada addicional ni cap valor en temps d'execució. La localització de l'applet s'especifica amb l'atribut classid:
    
   <P><OBJECT classid="http://www.maquina.es/analogic.py">
   </OBJECT>
Cal observar que el rellotge es presentarà tan bon punt l'agent d'usuari interpreti aquesta declaració d'OBJECT. És possible retardar la presentació d'un objecte declarant primer l'objecte (veieu més avall).

Els autors haurien de completar aquesta declaració incloent text alternatiu com a contingut de l'element OBJECT pel cas en què l'agent d'usuari no pugui presentar el rellotge:
    
   <P><OBJECT classid="http://www.maquina.es/analogic.py">
      Un rellotge animat.
   </OBJECT>

Una conseqüència significant del disseny de l'element OBJECT és que ofereix un mecanisme per especificar presentacions alternatives d'objectes; cada declaració d'OBJECT inserida pot especificar contingut alternatiu diferent. Si un agent d'usuari no pot presentar l'OBJECT més extern, intentarà presentar els seus continguts, els quals poden ser un altre element OBJECT, etc.

En el següent exemple, s'insereixen diverses declaracions d'OBJECT per il·lustrar com funcionen les presentacions alternatives. Un agent d'usuari intentarà presentar el primer element OBJECT que pugui, en el següent ordre: (1) un applet Terra escrit en llenguatge Python, (2) una animació MPEG de la Terra, (3) una imatge GIF de la Terra, (4) text alternatiu:
  <P>       <!-- Primer, s'intenta amb l'applet Python -->
  <OBJECT title="La Terra vista des de l'espai" 
          classid="http://www.observador.mart/LaTerra.py">
               <!-- Si no, s'intenta amb el video MPEG -->
      <OBJECT data="LaTerra.mpeg" type="application/mpeg">
               <!-- Si no, s'intenta amb la imatge GIF -->
         <OBJECT data="LaTerra.gif" type="image/gif">
               <!-- Si no, es presenta el text -->
               La <STRONG>Terra</STRONG> vista des de l'espai.
         </OBJECT>
      </OBJECT>
   </OBJECT>

La declaració més externa especifica un applet que no requereix cap dada o valor inicials. La segona declaració especifica una animació MPEG i, com que no defineix la localització de cap implementació per suportar MPEGs es refia de l'agent d'usuari per tractar l'animació. També s'especifica l'atribut type per tal que un agent d'usuari que sàpiga que no pot presentar MPEGs no es molesti en recuperar "LaTerra.mpeg" de la xarxa. La tercera declaració especifica la localització d'un fitxer GIF i proporciona text alternatiu en cas que tots els altres mecanismes fallin.

Dades inline vs. dades externes. Les dades que han de ser presentades poden proporcionar-se de dues maneres diferents: de manera inline i des d'un recurs extern. Mentre que el primer mètode generalment portarà a una presentació més ràpida, no és convenient quan es presenten grans quantitats de dades.

Aquest exemple il·lustrarà com es poden proporcionar dades inline a un element OBJECT:
   <P>
   <OBJECT id="rellotge1"
           classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
           data="data:application/x-oleobject;base64, ...dades base64...">
      Un rellotge.
   </OBJECT>

Podeu consultar l'apartat sobre la presentació visual dels objectes, les imatges i els applets per informació sobre la mida, l'alineació i les vores dels objectes.
Inicialització d'objectes: l'element PARAM
Els elements PARAM especifiquen un conjunt de valors que poden ser requerits per un objecte en temps d'execució. S'assumeix que la implementació de l'objecte entén la sintaxi dels noms i els valors. L'especificació de l'HTML 4.0 no especifica com els agents d'usuari haurien de recuperar les parelles nom/valor i tampoc com haurien d'interpretar els noms dels paràmetres que apareguin dues vegades.

Quan es presenta un element OBJECT, els agents d'usuari han de buscar en el contingut només aquells elements PARAM que són fills directes de l'element, i els subministren a l'OBJECT.

Per amenitzar aquest manual podeu jugar una estona al Breakout! (© Lou Schiano). Suposem que aquest applet és capaç de tractar amb dos paràmetres en temps d'execució que defineixen l'alçada i l'amplada inicial de l'àrea de visualització del joc. Podem fixar les dimensions inicials a 457x466 píxels amb dos elements PARAM:
<P><OBJECT codetype="application/java"
           standby="Carregant Breakout!...">
           classid="java:breakout/breakout.class">
        <PARAM name="alçada" value="457" valuetype="data">
        <PARAM name="amplada" value="466" valuetype="data">
   Aquest agent d'usuari no pot presentar aplicacions Java.
</OBJECT>
---> A jugar!

(Només els usuaris que utilitzin un navegador MSIE podran executar el joc; NS no implementa del tot correctament l'element OBJECT. Cal remarcar que, a més de no suportar l'atribut standby, els dos navegadors tenen algunes reserves pel què fa a la implementació de l'element OBJECT. Respecte MSIE en aquest exemple es posa de manifest un petit defecte d'implementació que fa que el text de les etiquetes dels controls del joc es vegin en un tipus de lletra diferent de l'original i que, per tant, apareguin lleugerament desplaçades de la seva pròpia posició. Aquests defectes, però, no afecten al correcte funcionament del joc. Si s'hagués utilitzat l'element APPLET el joc hagués tingut l'aparença correcta.)


En el següent exemple, les dades de temps d'execució per al paràmetre "Ini_valors" de l'objecte s'especifiquen com un recurs extern (un fitxer GIF). D'aquesta manera el valor de l'atribut valuetype es fixa a "ref" i el value és una URI que designa el recurs:
   <P><OBJECT classid="http://www.gifs.com/aplicgif"
              standby="Carregant Elvis...">
         <PARAM name="Ini_valors" value="../imatges/elvis.gif">
                valuetype="ref">
   </OBJECT>
Cal notar que també s'ha fixat l'atribut standby perquè així l'agent d'usuari pugui visualitzar un missatge ("Carregant Elvis...") mentre es carrega el mecanisme de la presentació (encara que ni MSIE ni NS suporten aquest atribut).

En el següent exemple, si es mostra "obj1" aleshores "param1" s'aplica a "obj1" (i no a "obj2"). Si no es mostra "obj1" i sí "obj2" aleshores "param1" s'ignora i "param2" s'aplica a "obj2". Si no es mostra cap OBJECT tampoc no s'aplica cap PARAM:
	<P>
	   <OBJECT id="obj1">
  	      <PARAM name="param1">
	      <OBJECT id="obj2">
	         <PARAM name="param2">
	      </OBJECT>
         </OBJECT>
Esquemes globals de nomenclatura pels objectes
La localització de la implementació d'un objecte ve donada per una URI. El primer segment d'una URI absoluta especifica l'esquema de nomenclatura utilitzat per transferir les dades designades per la URI. Per als documents HTML aquest esquema normalment és "http". Alguns applets pot ser que utilitzin altres esquemes de nomenclatura. Per exemple, quan s'especifica un applet de Java els autors poden utilitzar URIs que comencin amb "java" i pels applets ActiveX els autors poden usar "clsid":
	<P><OBJECT classid="java:programa.start">
	</OBJECT>

El fet d'inicialitzar l'atribut codetype fa que un agent d'usuari pugui decidir si vol recuperar l'aplicació Java basant-se en la seva habilitat per a fer-ho:
	<OBJECT codetype="application/java-archive"
                classid="java:programa.start">
	</OBJECT>
Alguns esquemes de representació requereixen informació addicional per identificar la seva implementació i se'ls ha de dir on poden trobar aquesta informació. Els autors poden donar un camí cap a la informació de la implementació de l'objecte via l'atribut codebase:
<OBJECT codetype="application/java-archive"
        classid="java:programa.start">
        codebase="http://empresa.com/java/lamevaimplementacio/"
</OBJECT>

El següent exemple especifica (amb l'atribut classid) un objecte ActiveX via una URI que comença amb l'esquema de nomenclatura "clsid". L'atribut data localitza les dades que s'han de presentar (un altre rellotge):
	<P><OBJECT classid="clsid:663C8FEF-1EF9-11CF-A3DB-080036F12502"
                   data="http://www.empresa.com/rellotge.stm">
                   No es pot suportar aquesta aplicació.
	</OBJECT>
Declaració i instanciació d'objectes
Els exemples precedents només han il·lustrat definicions d'objectes aïllats. Quan un document ha de contenir més d'una instància del mateix objecte és possible separar la declaració de l'objecte de les seves instanciacions. Fer això té diversos avantatges:


Per declarar un objecte pet tal que no s'executi quan l'agent d'usuari el llegeixi, només cal activar l'atribut booleà declare de l'element OBJECT. Al mateix temps, els autors han d'identificar la declaració assignant-li a l'atribut id de l'element OBJECT un valor únic. Les instanciacions subseqüents de l'objecte faran referència a aquest identificador.

Evidentment, un OBJECT declarat ha d'aparèixer en un document abans de la primera instància d'aquell OBJECT.

Un objecte definit amb l'atribut declare és instanciat cada vegada que un element que faci referència a aquell objecte requereixi ser presentat (per ex., quan un link que faci referència a ell sigui activat, quan un objecte que faci referència a ell sigui activat, etc.).

En el següent exemple es declara un OBJECT i fa que sigui instanciat fent-hi referència des d'un link. Així, l'objecte pot ser activat, per exemple, clicant en algun dels textos ressaltats:
   <P><OBJECT declare id="terra.declaracio" 
	              data="LaTerra.mpeg"
	              type="application/mpeg">
         La <STRONG>Terra</STRONG> vista des de l'espai.
   </OBJECT>
   ...més tard en el document...
   <P>
   Una fidel <A href="#terra.declaracio">animació de La Terra!</A>


El següent exemple il·lustra com s'han d'especificar valors en temps d'execució que són altres objectes. En aquest exemple s'envia el text (en aquest cas un poema) a un mecanisme hipotètic per visionar poemes. L'objecte reconeix un paràmetre en temps d'execució anomenat "font" (per exemple, per informar la font en què s'ha de presentar el poema). El valor per a aquest paràmetre és ell mateix un objecte que insereix (però que no presenta) l'objecte font. La relació entre l'objecte font i l'objecte visionador de poemes s'assoleix (1) assignant l'id "tribuna" a la declaració de l'objecte font i (2) fent-hi referència des de l'element PARAM de l'objecte visionador de poemes (amb valuetype i value):
   <P><OBJECT declare id="tribuna"
                      type="application/x-webfont"
                      data="tribuna.gif">
   </OBJECT>
   ...vista del poema a RMRilke.txt aquí...
   <P><OBJECT classid="http://invents.com/visionar_poemes" 
              data="RMRilke.txt">
      <PARAM name="font" valuetype="object" value="#tribuna">
      <P>T'has perdut un curiós visionador de poemes ...
   </OBJECT>
Els agents d'usuari que no suporten l'atribut declare han de presentar els continguts de la declaració de l'OBJECT.
INCLUSIÓ D'UN APPLET: L'ELEMENT APPLET
L'element APPLET està menyspreuat (amb tots els seus atributs) en favor de l'element OBJECT.

Un exemple menyspreuat pel fet d'utilitzar l'element APPLET seria:
	<APPLET code="Bombolles.class" width="500" height="500">
	   Applet de Java que dibuixa bombolles animades.
	</APPLET>
on l'element APPLET inclou un applet de Java en el document. Com que no s'ha proporcionat cap codebase se suposa que l'applet es troba en el mateix directori que el document actual. Aquest fragment de codi es podria reescriure amb OBJECT d'aquesta manera:
	<P><OBJECT codetype="application/java"
                   classid="java:Bombolles.class"
                   width="500" height="500">
	     Applet de Java que dibuixa bombolles animades.
	</OBJECT>
Els valors inicials se li poden proporcionar a l'applet viar l'element PARAM. Per exemple, el següent exemple menyspreuat:
	<APPLET code="AudioItem" width="15" height="15">
	   <PARAM name="so" value="Hola.au|Benvinguts.au">
	   Applet de Java que reprodueix un so de benvinguda.
	</APPLET>
es podria reescriure de la següent manera amb OBJECT:
	<OBJECT codetype="application/java"
                classid="AudioItem" 
                width="15" height="15">
	   <PARAM name="so" value="Hola.au|Benvinguts.au">
	   Applet de Java que reprodueix un so de benvinguda.
	</OBJECT>
NOTES SOBRE ELS DOCUMENTS INSERITS
De vegades enlloc de linkar a un document, un autor pot desitjar inserir-lo directament dins d'un document HTML principal. Els autors poden utilitzar tant l'element IFRAME com l'element OBJECT per a aquest propòsit, però els elements difereixen d'algunes maneres. No només els dos elements poden tenir diferents models de contingut, sino que a més l'IFRAME pot ser un frame objectiu i pot ser "seleccionat" per un agent d'usuari com a l'àrea per a la impressió, l'àrea de visualització de l'HTML font, etc. Els agents d'usuari poden presentar elements de frames seleccionats per distingir-los dels frames no seleccionats (per ex., dibuixant una vora al voltant del frame seleccionat).

Un document inserit és totalment independent del document en el qual es troba inserit. Per exemple, les URIs relatives de dins del document inserit es resolen d'acord amb la URI base del document inserit, i no la del document principal. Un document inserit només es presenta dins d'un altre document (per ex., en una subfinestra); per la resta roman independent.

Per exemple, el següent fragment de codi insereix els continguts del fitxer insercio.html en el lloc on es troba la definició d'OBJECT:
	...text precedent...
	<OBJECT data="insercio.html">
	   Alerta: no s'ha pogut inserir insercio.html
	</OBJECT>
	...text subseqüent...

Cal observar que els continguts d'OBJECT només han de ser presentats si el fitxer especificat per l'atribut data no pot ser carregat.

El comportament d'un agent d'usuari en els casos en què un fitxer s'inclou a ell mateix no està definit.
MAPES D'IMATGE
Els mapes d'imatge permeten als autors especificar regions d'una imatge o objecte i assignar una acció específica a cada regió (per ex., recuperar un document, executar un programa, etc.). Quan la regió és activada per l'usuari l'acció s'executa.

Un mapa d'imatge es crea mitjançant l'associació d'un objecte amb una especificació d'àrees geomètriques sensibles de l'objecte.

Hi ha dos tipus de mapes d'imatge:


Els mapes d'imatge client-side es prefereixen als mapes d'imatge server-side per al menys dues raons: són accessibles a la gent que navega amb agents d'usuari no gràfics i ofereixen un mecanisme de retroalimentació immediat que indica si el dispositiu apuntador es troba sobre una regió activa o no.
Mapes d'imatge client-side
L'element MAP especifica un mapa d'imatge client-side que pot estar associat a un o més elements (IMG, OBJECT o INPUT). Un mapa d'imatge s'associa amb un element via l'atribut usemap de l'element.

La presència de l'atribut usemap per a un element OBJECT implica que l'objecte que s'està incloent és una imatge. A més, quan l'element OBJECT té un mapa d'imatge client-side associat els agents d'usuari poden implementar la interacció de l'usuari amb OBJECT exclusivament en termes del mapa d'imatge client-side. Això permet als agents d'usuari (tals com un navegador acústic o un robot) interactuar amb l'OBJECT sense haver de processar-lo; l'agent d'usuari fins i tot pot triar no recuperar (o processar) l'objecte. Quan un OBJECT té un mapa d'imatge associat, els autors no haurien de tenir l'esperança que l'objecte serà recuperat o processat per tots els agents d'usuari.

Els agents d'usuari i els autors haurien d'oferir alternatives textuals als mapes d'imatge gràfics pels casos en què els gràfics no estiguin disponibles o que l'usuari no pugui tenir-hi accés.

Nota. L'element MAP no és compatible amb els agents d'usuari que implementen l'HTML 2.0.


Exemples:

En el següent exemple es crea un mapa d'imatge client-side per a l'element OBJECT. No es vol presentar els continguts del mapa d'imatge quan l'OBJECT es presenta, per tant, es fa una "ocultació" de l'element MAP dins del contingut de l'element OBJECT. Conseqüentment, els continguts de l'element MAP només es presentaran si l'OBJECT no pot ser presentat:
<HTML>
   <HEAD>
      <TITLE>Web Site</TITLE>
   </HEAD>
   <BODY>
     <P><OBJECT data="barranav1.gif" type="image/gif" usemap="#mapa1">
     <MAP name="mapa1">
       <P>Navegueu:
       <A href="guia.html" shape="rect" coords="0,0,118,28">
	  Guia d'accés</a> |
       <A href="drecera.html" shape="rect" coords="118,0,184,28">
	  Ràpid!</A> |
       <A href="cerca.html" shape="circle" coords="184,200,60">
	  Cerca</A> |
       <A href="top10.html" shape="poly"
        coords="276,0,373,28,50,50,100,120">Top Ten</A>
     </MAP>
     </OBJECT>
   </BODY>
</HTML>

És possible que es vulgui presentar els continguts del mapa d'imatge fins i tot quan un agent d'usuari pugui presentar l'OBJECT. Per exemple, es pot desitjar associar un mapa d'imatge amb un element OBJECT i incloure una barra text de navegació al final de la pàgina. Per a fer-ho cal definir l'element MAP fora de l'OBJECT:

<HTML>
   <HEAD>
      <TITLE>Web Site</TITLE>
   </HEAD>
   <BODY>
     <P><OBJECT data="barranav1.gif" type="image/gif" usemap="#mapa1">
     </OBJECT>

     ...la resta de la pàgina...

     <MAP name="mapa1">
       <P>Navegueu:
       <A href="guia.html" shape="rect" coords="0,0,118,28">
	  Guia d'accés</a> |
       <A href="drecera.html" shape="rect" coords="118,0,184,28">
	  Ràpid!</A> |
       <A href="cerca.html" shape="circle" coords="184,200,60">
	  Cerca</A> |
       <A href="top10.html" shape="poly"
        coords="276,0,373,28,50,50,100,120">Top Ten</A>
     </MAP>
   </BODY>
</HTML>


Com a comparació, una versió similar utilitzant l'element IMG enlloc de l'element OBJECT (amb la mateixa declaració de MAP):
 <P><IMG src="barranav1.gif" usemap="#mapa1" alt="barra de navegació">


En el següent exemple s'il·lustra com es poden compartir els mapes d'imatge. Els elements OBJECT aniuats són molt útils per a proporcionar mecanismes de recuperació en cas que l'agent d'usuari no suporti certs formats. Per exemple:
<P>
<OBJECT data="barranav.png" type="image/png">
  <OBJECT data="barranav.gif" type="image/gif">
    text que descriu la imatge...
  </OBJECT>
</OBJECT>
on, si l'agent d'usuari no suporta el format PNG intenta presentar la imatge GIF. Si no suporta el format GIF (per ex., és un agent d'usuari basat en la parla) acaba presentant la descripció textual proporcionada en el contingut de l'element OBJECT més intern. Quan s'aniuen elements OBJECT d'aquesta manera, els autors poden compartir els mapes d'imatge entre ells:
<P>
<OBJECT data="barranav.png" type="image/png" usemap="#mapa1">
  <OBJECT data="barranav.gif" type="image/gif" usemap="#mapa1">
     <MAP name="mapa1">
     <P>Navegueu:
      <A href="guia.html" shape="rect" coords="0,0,118,28">
	  Guia d'accés</a> |
      <A href="drecera.html" shape="rect" coords="118,0,184,28">
	  Ràpid!</A> |
      <A href="cerca.html" shape="circle" coords="184,200,60">
	  Cerca</A> |
      <A href="top10.html" shape="poly"
        coords="276,0,373,28,50,50,100,120">Top Ten</A>
     </MAP>
  </OBJECT>
</OBJECT>
Mapes d'imatge server-side
Els mapes d'imatge server-side poden ser interessants en els casos en què el mapa d'imatge sigui massa complicat com per ser un mapa d'imatge client-side.

Els mapes d'imatge server-side només és possible definir-los per als elements IMG i INPUT. En el cas de IMG, l'IMG s'ha de trobar dins d'un element A i l'atribut booleà ismap ha d'estar inicialitzat. En el cas de INPUT, l'INPUT ha de ser del tipus "image".

Quan l'usuari activa el link clicant sobre la imatge, les coordenades de pantalla s'envien directament al servidor on resideix el document. Les coordenades de pantalla s'expressen com valors de píxels de pantalla relatius a la imatge.

Exemple: la regió activa defineix un link server-side. Així, un clic en qualsevol lloc de la imatge farà que les coordenades del clic s'enviïn al servidor:
	<P><A href="http://www.lolo.com/cgi-bin/competicio">
           <IMG src="joc.gif" ismap alt="objectiu"></A>

La localització clicada es passa al servidor de la manera següent: l'agent d'usuari deriva una nova URI de la URI especificada per l'atribut href de l'element A afegint-li '?' seguit per les coordenades x i y, separades per una coma. Aleshores es segueix el link utilitzant la nova URI. Per exemple, en l'exemple anterior si l'usuari clica la posició x=10, y=27 aleshores la URI derivada és "http://www.lolo.com/cgi-bin/competicio?10,27".

Els agents d'usuari que no ofereixen mitjans per seleccionar coordenades específiques (per ex., agents d'usuari no gràfics que es basen en les entrades de teclat, navegadors basats en la parla, etc.) haurien d'enviar les coordenades "0,0" al servidor quen el link sigui activat.
PRESENTACIÓ VISUAL D'IMATGES, OBJECTES I APPLETS
Tots els atributs dels elements IMG i OBJECT que fan referència a l'alineació visual i a la presentació han estat menyspreuats en favor dels fulls d'estil.
Amplada i alçada
Quan s'especifiquen els atributs width i height aquests li diuen a l'agent d'usuari que invalidi la mida natural de l'objecte o imatge en favor d'aquests valors.

Quan l'objecte és una imatge, aquesta és escalada. Els agents d'usuari haurien de fer el possible per escalar un objecte o imatge per a que coincideixi amb l'amplada (width) i l'alçada (height) especificades. Cal recalcar que les alçades expressades en percentatges es basen en l'espai vertical o horitzontal actualment disponible, i no en la mida natural de la imatge, objecte o applet.

Els atributs width i height donen als agents d'usuari una idea de la mida d'una imatge o objecte per tal que puguin reservar espai per a ell i continuar presentant el document mentre esperen les dades de la imatge.
Espai blanc al voltant d'imatges i d'objectes
Els atributs vspace i hspace especifiquen la quantitat d'espai blanc que ha de ser inserit a l'esquerra i a la dreta (hspace) i a dalt i a baix (vspace) d'un IMG, APPLET o OBJECT.
Vores, alineació i especificació de text alternatiu
Una imatge o objecte pot estar envoltat per una vora (per ex., quan una vora és especificada per l'usuari o quan la imatge és el contingut d'un element A). L'atribut border (menyspreuat) s'utilitza per especificar l'amplada d'aquesta vora.

L'atribut align especifica la posició d'un IMG, OBJECT o APPLET respecte el seu context.

L'atribut alt s'utilitza per especificar el text alternatiu dels elements IMG, AREA i APPLET (menyspreuat), i ara també per a l'element INPUT.
Tancar
Pàgina Principal
Introducció al Manual d'HTML Dinàmic
Glossari
Referències























HTML 4.0
Introducció al manual d'HTML 4.0
Taules
Formularis
Objectes, imatges i applets
Scripts
Informació de l'idioma i sentit del text
Frames
Nous elements
Elements menyspreuats i obsolets
Fulls d'estil
Nous atributs de l'HTML 4.0
Índex d'atributs nous
Índex d'atributs menyspreuats
DTD
Annexe












Introducció als CSS
Introducció als CSS2 i al manual
Propietats CSS2
Fulls d'estil audibles
Model de caixa
Sintaxi i tipus bàsics de dades
Model de formatat visual
Detalls del model de formatat visual
Assignar valors de propietats, la cascada i l'herència
Interfície d'usuari
Efectes visuals
Text
Taules
Fonts
Contingut generat, numeració automàtica i llistes
Colors i fons
Selectors
Tipus de mitjans
Mitjans paginats
Suport de CSS2
Annexe




Introducció al DOM
DOM Nivell 1 - Nucli
DOM Nivell 1 - HTML
Articles sobre el DOM






















Programació en DHTML
Demos