Fork me on GitHub




« 1 (2)


Re: ouverture lien dans nouvelle fenêtre
Guest_
Ghia est sur la bonne piste.
On trouve toutes les explications sur rel="external" et sur les alternatives à target=_blank ici :
http://www.developpez.net/forums/d639 ... placer-target-_blank-rel/

Posté le : 24/08/2009 21:57
Partager Twitter Partagez cette article sur GG+
Re: ouverture lien dans nouvelle fenêtre
Xoops accro
Inscrit: 20/02/2008 20:27
De Belgium
Messages: 2708
Alors dans xoops.js en fonction xoopsExternalLinks(), c'etait mieux que les lignes
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.target "_blank";
            }
        }
sont changees a
if (anchor.getAttribute("href") && 
        
anchor.getAttribute("rel") == "external") {
      
anchor.onclick "window.open(this.href); return false;"
    }

pour avoir la confirmation plus stricte. En fonction, c'est equivalent.

Citation :
bonjour une solution pour resoudre son probleme m interresse aussi
Il faut verifier les fichiers javascript et le javascript inclus dans les fichier .html de theme pour les events onload. Ca doit utilisee une technique comme dans xoops.js pour sauvegarder et executer le fonctions existantes. Avec
window.onload MaFonction;
la fonction specifiee d'avant est surecrit et jamais utilisee.

Posté le : 25/08/2009 00:57

Salutations, Gerard.
PS: Excusez mon mauvais français.
De la bonne manière de poser les questions
Partager Twitter Partagez cette article sur GG+
Re: ouverture lien dans nouvelle fenêtre
Aspirant
Inscrit: 08/09/2008 14:45
Messages: 35
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!

Posté le : 27/08/2009 03:20
Partager Twitter Partagez cette article sur GG+

 Haut   Précédent   Suivant
« 1 (2)



Vous pouvez voir les sujets.
Vous ne pouvez pas débuter de nouveaux sujets.
Vous ne pouvez pas répondre aux contributions.
Vous ne pouvez pas éditer vos contributions.
Vous ne pouvez pas effacez vos contributions.
Vous ne pouvez pas ajouter de nouveaux sondages.
Vous ne pouvez pas voter en sondage.
Vous ne pouvez pas attacher des fichiers à vos contributions.
Vous ne pouvez pas poster sans approbation.

Propulsé avec XOOPS | Graphisme adapté par Tatane, Grosdunord, Montuy337513

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