function xoopsExternalLinks()
{
if (!document.getElementsByTagName) return;
var anchors = document.getElementsByTagName("a");
for (var i = 0; i < anchors.length; i++) {
var anchor = anchors[i];
if (anchor.getAttribute("href") ) {
// Check rel value with extra rels, like "external noflow". No test for performance yet
var $pattern = new RegExp("external", "i");
if ($pattern.test(anchor.getAttribute("rel"))) {
anchor.onclick = function() {
window.open(this.href);
return false;
}
}
}
}
}
function xoopsOnloadEvent(func)
{
if (window.onload) {
xoopsAddEvent(window, 'load' , window.onload);
}
xoopsAddEvent(window, 'load' , func);
}
function xoopsAddEvent(obj, evType, fn)
{
if (obj.addEventListener) {
obj.addEventListener(evType, fn, true);
return true;
} else if (obj.attachEvent) {
var r = obj.attachEvent("on" + evType, fn);
return r;
} else {
return false;
}
}
xoopsOnloadEvent(xoopsExternalLinks);
Please test it.
For example:
window.onload = alertbox1:
xoopsOnloadEvent(alertbox2);
window.onload = alertbox3;
Will trigger the 3 alert boxes in the following order:
alertbox3
alertbox1
alertbox2
(The actual code would just trigger alertbox3)
Merci!