je souhaiterai créé une extension "mozTarget" dont le but serait de pouvoir contrôler l'ouverture d'une URL cliquée en fonction d'un paramètre "mozTarget" dans l'URL. Ainsi l'URL est ouverte dans:
- une nouvelle fenêtre pour l'URL: http://xxxxxx?mozTarget=newwindow
- un nouvel onglet pour l'URL: http://xxxxxx?mozTarget=newtab
- l'onglet ou la fenêtre courante pour l'URL http://xxxxx?mozTarget=current
- ou encore le panneau latéral pour l'URL http://xxxxx?mozTarget=sidepane
Est-ce possible par une extension Firefox ?
J'ai réussi à obtenir le comportement escompté (sauf panneau latéral) en modifiant la fonction javascript openURI du fichier browser.js . Ce fichier se trouve dans le dossier Firefox/chrome/browser.jar.
les lignes modifiées ont été (vers la ligne 3950).(Modifications encadrées par ===================):
Code : Tout sélectionner
var location;
if (aWhere == Ci.nsIBrowserDOMWindow.OPEN_DEFAULTWINDOW) {
switch (aContext) {
case Ci.nsIBrowserDOMWindow.OPEN_EXTERNAL :
aWhere = gPrefService.getIntPref("browser.link.open_external");
break;
default : // OPEN_NEW or an illegal value
aWhere = gPrefService.getIntPref("browser.link.open_newwindow");
}
}
//=============ajout ici===================
if (isExternal) {
if (aURI.spec.match("mozTarget=current"))
aWhere = 1; //Ouvrir dans nouvelle fenêtre
else if (aURI.spec.match("mozTarget=newwindow"))
aWhere = 2;
else if (aURI.spec.match("mozTarget=newtab"))
aWhere = 3;
}
//=================fin ajout==============
switch(aWhere) {
case Ci.nsIBrowserDOMWindow.OPEN_NEWWINDOW :
Message envoyé avec : Mozilla/5.0 (Windows; U; Windows NT 5.1; fr; rv:1.9.0.5) Gecko/2008120122 Firefox/3.0.5