Fork me on GitHub

Rapport de message :*
 

Re: ouverture lien dans nouvelle fenêtre

Titre du sujet : Re: ouverture lien dans nouvelle fenêtre
par trabis sur 27/08/2009 03:20:43

function xoopsExternalLinks() 
{
    if (!
document.getElementsByTagName) return;
    var 
anchors document.getElementsByTagName("a");
    for (var 
0anchors.lengthi++) {
        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(objevTypefn)
{
    if (
obj.addEventListener) {
        
obj.addEventListener(evTypefntrue);
        return 
true;
    } else if (
obj.attachEvent) {
        var 
obj.attachEvent("on" evTypefn);
        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!
Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

40 Personne(s) en ligne (30 Personne(s) connectée(s) sur Forum) | Utilisateur(s): 0 | Invité(s): 40 | Plus ...