Here is a slightly more involved version that requires no configuration (it gets the domain from the page), shouldn't conflict with other scripts on the page or other events already attached to the links:
Code:
var testlinks={
init:function(){
for (var i = 0, l = document.links; i < l.length; i++)
testlinks.ad_event(l[i], 'click', testlinks.test);
},
test:function(e){
var re=location.hostname? new RegExp(location.hostname) : new RegExp('^(?!http)');
if(re.test(this.href))
return true;
var test=confirm('Do you really want to leave?');
if(!test&&e&&e.preventDefault)
e.preventDefault();
return test;
},
events:[],
ad_event:function(el,etype,f){
if ( typeof window.addEventListener != "undefined" )
el.addEventListener( etype, f, false );
else if ( typeof window.attachEvent != "undefined" ){
var t = function() {
return f.apply(el);
};
testlinks.events.push({'element': el, 'event': 'on'+etype, 'handler': t});
el.attachEvent( "on"+etype, t );
}
}
};
if(document.links)
testlinks.ad_event(window, 'load', testlinks.init);
if(testlinks.events.length>0&&window.detachEvent)
window.attachEvent('onunload', function(){
for(var i = 0, e = testlinks.events; i < e.length; i++) {
e[i].element.detachEvent(e[i].event, e[i].handler);
e[i].element[e[i].event] = null;
};
});
Bookmarks