> Tous les forums > Forum Forum des Webmasters
 Modification Extension FireFox ?
Ajouter un message à la discussion
Page : [1] 
Page 1 sur 1
regedice
  Posté le 10/03/2019 @ 12:39 
Aller en bas de la page 
Astucien

Hello tout le monde,

J'ai une minuscule extension ici, dont je voudrais comprendre le fonctionnement et voir si, peut-être, on arrive à faire la manipulation proposée manuellement dans FireFox !

En fait, dans le menu contextuel de FF, on peut ajouter "Ouvrir le lien" tout en haut du menu, ce qui permet d'ouvrir un lien dans la même page mais sans avoir de souci de pop-up qui serait déclenché en cliquant sur le lien.

Voilà le contenu des fichiers de cette extension, le premier "bootstrap.js"

if ( "undefined" == typeof(SchuzakJp) ) { SchuzakJp = {}; }
if ( "undefined" == typeof(SchuzakJp.OpenLink) ) { SchuzakJp.OpenLink = {}; }


SchuzakJp.OpenLink.toggle = function() {
const wins = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator)
.getEnumerator("navigator:browser");

var win;
while ( wins.hasMoreElements() ) {
win = wins.getNext()

if (win.gContextMenu) {
if (win.gContextMenu.linkURL) {
win.document.getElementById("context-openlinkincurrent").setAttribute( "hidden", false );
} else {
win.document.getElementById("context-openlinkincurrent").setAttribute( "hidden", true );
}
}
}
};


SchuzakJp.OpenLink.init = {

onLoad: function(window) {
window.document.getElementById("contentAreaContextMenu")
.addEventListener("popupshowing", SchuzakJp.OpenLink.toggle, false);
},

onUnload: function(window) {
window.document.getElementById("contentAreaContextMenu")
.removeEventListener("popupshowing", SchuzakJp.OpenLink.toggle);
}

};


SchuzakJp.OpenLink.windowListener = {
onOpenWindow: function(xulWindow) {
const domWindow = xulWindow.QueryInterface(Components.interfaces.nsIInterfaceRequestor)
.getInterface(Components.interfaces.nsIDOMWindow);

domWindow.addEventListener("load", function onDomWindowLoad() {
domWindow.removeEventListener("load", onDomWindowLoad, false);

if ( domWindow.document.documentElement.getAttribute("windowtype") == "navigator:browser" ) {
SchuzakJp.OpenLink.init.onLoad(domWindow);
}
}, false);
},

onCloseWindow: function(xulWindow) {},

onWindowTitleChange: function(xulWindow, newTitle) {}
};



function startup(data, reason) {
const wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);


wm.addListener(SchuzakJp.OpenLink.windowListener); //#3-2

const wins = wm.getEnumerator("navigator:browser");
var win;
while ( wins.hasMoreElements() ) {
win = wins.getNext().QueryInterface(Components.interfaces.nsIDOMWindow);
SchuzakJp.OpenLink.init.onLoad(win); //#3-last
}
}


function shutdown(data, reason) {
if (reason == APP_SHUTDOWN) {
return;
}

const wm = Components.classes["@mozilla.org/appshell/window-mediator;1"]
.getService(Components.interfaces.nsIWindowMediator);


wm.removeListener(SchuzakJp.OpenLink.windowListener); //#3-2

const wins = wm.getEnumerator("navigator:browser");
var win;
while ( wins.hasMoreElements() ) {
win = wins.getNext().QueryInterface(Components.interfaces.nsIDOMWindow);
SchuzakJp.OpenLink.init.onUnload(win); //#3-last
}


Components.classes["@mozilla.org/observer-service;1"]
.getService(Components.interfaces.nsIObserverService)
.notifyObservers(null, "chrome-flush-caches", null);
}


function install(data, reason) {}

function uninstall(data, reason) {}

Ainsi qu'un petit fichier du nom de "install.rdf"

<?xml version="1.0"?>

<RDF xmlns="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
xmlns:em="http://www.mozilla.org/2004/em-rdf#">

<Description about="urn:mozilla:install-manifest">

<em:id>OpenLink@schuzak.jp</em:id>
<em:type>2</em:type>
<em:bootstrap>true</em:bootstrap>
<em:multiprocessCompatible>true</em:multiprocessCompatible>
<em:name>Open Link In Current</em:name>
<em:version>3.0.0</em:version>
<em:description>Add "Open Link" to context menu on top.</em:description>
<em:creator>Schuzak</em:creator>
<em:iconURL>chrome://OpenLink/content/icon32.png</em:iconURL>
<em:icon64URL>chrome://OpenLink/content/icon64.png</em:icon64URL>
<em:homepageURL>http://www.schuzak.jp/</em:homepageURL>

<em:targetApplication>
<Description>
<em:id>{ec8030f7-c20a-464f-9b0e-13a3a9e97384}</em:id>
<em:minVersion>20.0</em:minVersion>
<em:maxVersion>54.0a1</em:maxVersion>
</Description>
</em:targetApplication>

</Description>
</RDF>

La personne qui proposait cet ajout au menu contextuel, expliquait que c'était une fonction existante mais masquée qu'il avait juste rendu visible.

Merci d'avance

Publicité
zoulouman
 Posté le 10/03/2019 à 15:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Salut,

Alors là, tu me poses une colle.
Je sais que les extensions sont en JS, mais je ne me suis jamais intéressé à leur contenu.

Je fais confiance à la communauté pour alerter en cas de souci.
Désolé, Regedice, je ne peux pas t'aider...

D'ailleurs, je me demande si ce sujet est à sa place ici. Ce n'est pas un souci de webmaster.
Mais c'est un souci pour qui ??? Difficile d'y répondre...

regedice
 Posté le 10/03/2019 à 20:53 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il parle de programmation, c'est l'essentiel et c'est la bonne section !

txuku
 Posté le 11/03/2019 à 13:31 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour

Tu aurais du preciser le nom de cette extension ?

regedice
 Posté le 11/03/2019 à 17:57 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

On n'en trouve plus aucune trace sur les serveurs de FF et lien vers la page du programmeur n'en dit rien de plus !

Elle s'appelait "Open Link In Current"

txuku
 Posté le 11/03/2019 à 18:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il faut ouvrir le fichier xpi de l extension - avec Winrar il me semble........

Modifier le fichier install.rdf :

Changer em:maxVersion>54.0a1</em:maxVersion en
em:maxVersion>92.*</em:maxVersion

54.0a1 correspond a la version maximum de Firefox avant que l extension soit obsolete !

Ensuite recreer le fichier xpi avec le nouvel install.rdf et les fichiers d origine puis chjanger l extension .rar en .xpi !

Cela fonctionne bien avec Waterfox ( c est pourquoi je l utilise a la place de Firefox ! ).

regedice
 Posté le 11/03/2019 à 18:28 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Qu'est-ce que WATERFOX ?

txuku
 Posté le 11/03/2019 à 18:29 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Un clone de Firefox !

regedice
 Posté le 11/03/2019 à 18:38 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Mais je dois vraiment écrire ça ?

em:maxVersion>54.0a1</em:maxVersion -> em:maxVersion>92.*</em:maxVersion

Parce qu'il me dit que c'est corrompu !

Publicité
Duskley
 Posté le 11/03/2019 à 18:59 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Bonjour.

Regedice, est-ce que ceci te conviendrait ?
https://superuser.com/questions/260129/open-link-in-the-same-tab-for-firefox
Si c'est bien ce que tu cherches, ouvrir un lien dans le même onglet, je ne suis pas sûr d'avoir tout compris.
Pour ouvrir un lien dans un nouvel onglet, il faudra passer par le clic droit.



Modifié par Duskley le 11/03/2019 19:16
regedice
 Posté le 11/03/2019 à 19:10 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Je viens de trouver ça -> https://addons.mozilla.org/fr/firefox/addon/stay-current/?src=search

A part ça, depuis que j'ai appliqué la modification il ne supporte plus du tout cet extension et refuse même l'originale en la supprimant tout simplement !

Duskley
 Posté le 11/03/2019 à 19:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Il y a aussi cette extension qui permet de choisir l'action -> https://addons.mozilla.org/fr/firefox/addon/right-links/

regedice
 Posté le 11/03/2019 à 19:25 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Celle-là je l'utilise déjà !

Quand je clique en laissant appuyé sur un lien, il s'ouvre directement dans une nouvelle fenêtre !

C'est super pratique !

Duskley
 Posté le 11/03/2019 à 19:32 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Moi, je l'ai découverte hier, je cherchais à faire le contraire, que tous les liens s'ouvrent dans des nouveaux onglets, jamais dans l'onglet courant.

regedice
 Posté le 11/03/2019 à 21:12 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Duskley a écrit :

Moi, je l'ai découverte hier, je cherchais à faire le contraire, que tous les liens s'ouvrent dans des nouveaux onglets, jamais dans l'onglet courant.

Sur certains sites, il y a des pub et autres qui se lancent en plus du lien sur lequel tu souhaites aller, avec cette fonction, ça ne le fait plus !

Duskley
 Posté le 12/03/2019 à 06:19 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Sur certains sites, il y a des pub et autres qui se lancent en plus du lien sur lequel tu souhaites aller, avec cette fonction, ça ne le fait plus !

Avec cette extension, ça ne le fait pas.

https://addons.mozilla.org/fr/firefox/addon/skip-redirect/reviews/

regedice
 Posté le 12/03/2019 à 10:30 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Oui mais avec l'autre ça m'arrange !

Publicité
regedice
 Posté le 02/04/2019 à 23:34 
Aller en bas de la page Revenir au message précédent Revenir en haut de la page
Astucien

Je n'avais pas ajouter l'information ici, mais j'ai retrouvé exactement la même fonctionnalité au travers de cette extension

https://addons.mozilla.org/fr/firefox/addon/stay-current/

Page : [1] 
Page 1 sur 1

Vous devez être connecté pour poster des messages. Cliquez ici pour vous identifier.

Vous n'avez pas de compte ? Créez-en un gratuitement !


Sujets relatifs
Copy HTML (extension Firefox)
extension firefox
Extension Split Browser (Firefox)
Copier fichiers même extension
Extension validation HTML5
Compatibilté IE et FIREFOX
Modification du code source d'une page sur 1&1
Virus URL:Mal sur firefox
Extension "Stationery" pour Thunderbird
web developer et firefox 19
Plus de sujets relatifs à Modification Extension FireFox ?
 > Tous les forums > Forum Forum des Webmasters