Aclaro que el código que viene a continuación funciona perfecto (al menos para el uso que estoy dándole yo;) así que en parte es una aportación al foro y en parte tan solo quiero leer nuevas ideas y mejoras
La idea es la simple, data una tag del estilo
Código HTML:
<A href="destino.html" id='enlace1' onclick="Bloquear('enlace1',10)" target="frameX">enlace</A>
usando el siguiente javascipt conseguimos que al hacer clic en el enlace se lo deshabilite por 10 segundos...
Código:
// Desactiva un Link durante N segundos después de un click
function Bloquear(objID, segundos) {
var obj = document.getElementById(objID);
if (obj != null) {
if (obj.disabled) return false;
desactivarLink(objID, "gray");
setTimeout(function() {activarLink(objID);}, segundos*1000);
return true;
}
return false;
}
// Desactiva un Link y lo pinta del color indicado
function desactivarLink(objID, color) {
var obj = document.getElementById(objID);
if (obj != null) {
var href = obj.getAttribute("href");
if(href && href != "" && href != null) {
obj.setAttribute('hrefBack', href);
var target = obj.getAttribute("target");
if(target == '_blank') {
window.open(href);
}
else if(target == '_top') {
top.location.href = href;
}
else if(target == '_parent') {
parent.location.href = href;
}
else if(target && target != "" && target != null && target != "_self") {
parent.frames[target].location.href = href;
}
else {
document.location.href = href;
}
}
obj.removeAttribute('href');
obj.disabled = true;
var onclick = obj.getAttribute("onclick");
if(onclick != null) {
obj.setAttribute('onclickBack', onclick);
obj.setAttribute('onclick', "void(0);");
}
if (color != "" && color != null) {
obj.setAttribute('colorBack', obj.style.color);
obj.style.color = color;
}
}
}
// Reactiva un Link y le pone el color original
function activarLink(objID) {
var obj = document.getElementById(objID);
if (obj != null) {
var hrefBack = obj.getAttribute("hrefBack");
if(hrefBack != null) {
obj.setAttribute('href', hrefBack);
obj.removeAttribute('hrefBack');
}
obj.disabled = false;
var onclickBack = obj.getAttribute("onclickBack");
if(onclickBack != null) {
obj.setAttribute('onclick', onclickBack);
obj.removeAttribute('onclickBack');
}
var colorBack = obj.getAttribute("colorBack");
if(colorBack != null) {
obj.style.color = colorBack;
obj.removeAttribute('colorBack');
}
}
}

Bueno, escucho ideas y espero que el script les sea útil...