@alor86,
queria comentar que en tu ejemplo todos los enlaces abren siempre el mismo documento,
'pagina.html'. en lugar de un string literal deberia leer la propiedad
href de dicho enlace. una forma es con
this.href.
@adhemo,
opino que tienes un problema mayor para implementar dicha funcionalidad: identificar que enlaces son de la interfaz de tu sitio y cuales no. dependiendo a que exactamente te refieres, si aplicar la funcionalidad
absolutamente a todos los enlaces de la interfaz o si solo a una parte de la interfaz (menu y alguna otra seccion), pues tienes diferentes formas de enfocarse. el ejemplo de
alor86 aplica la funcion a todos los enlaces sin excepcion alguna. si te funciona, pues bien. sino, yo lo haria de la siguiente forma.
primero, aplicar la funcion enlace por enlace no me parece optimo. podemos sacarle ventaja al modelo de eventos para aplicar de una sola vez la funcion a todo el documento o seccion en particular. y segundo, con funciones basicas de busqueda se podria determinar si el enlace apunta a tu sitio o uno externo, y bajo esta condicion se invoca tu funcion AJAX.
Código:
// direccion del sitio web;
var site_address = 'http://www.forosdelweb.com/';
// funcion que determina si el enlace es local e invoca AJAX;
function localLink(evt){
var link = evt.target || evt.srcElement;
if(/^a$/i.test(link.nodeName) && (new RegExp('^' + site_address)).test(link.href)){
llamarasincrono(link.href, 'barent');
try{
evt.preventDefault();
}catch(error){
evt.returnValue = false;
}}}
// aqui se usa el objeto document para aplicar el evento a todo el documento;
// pero tambien puede ser a uno o varios elementos de tu preferencia;
try{
document.addEventListener('click', localLink, false);
}catch(e){
document.attachEvent('onclick', localLink);
}
no he comprobado el codigo pero estoy casi seguro que debe funcionar.