Envoyé par : LvR
Date : 08/12/2005 10:10
Bonjour a tous,
je suis en train de faire une extension pour FF1.5, qui me rajoute une sidebar avec dedans un <iframe> (j'ai essayé aussi un <browser>) pour afficher un site de mon choix dans la sidebar ..
j'ai fait des overlays pour les menus, les raccourcis claviers, la sidebar, c'est tout fonction bien .. a part un truc :
voila qq détail de mon extension :
chrome.manifest :
content lolfox chrome/chromeFiles/content/ overlay chrome://browser/content/browser.xul chrome://lolfox/content/browser.overlay.xul
mes overlays (browser.overlay.xul):
<menupopup id="viewSidebarMenu"> <menuitem key="keyopenLOLFoxSidebar" observes="viewLOLFoxSidebar"/> </menupopup> <keyset id="mainKeyset"> <key id="keyopenLOLFoxSidebar" modifiers="control" key="Q" command="viewLOLFoxSidebar" /> </keyset> <broadcasterset id="mainBroadcasterSet"> <broadcaster id="viewLOLFoxSidebar" autoCheck="false" label="LOLFox" type="checkbox" group="sidebar" sidebarurl="chrome://lolfox/content/lolfox.xul" sidebartitle="LOLFox" oncommand="toggleSidebar('viewLOLFoxSidebar');"/> </broadcasterset>
et le xul principal de mon extension (lolfox.xul):
<window xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:html="http://www.w3.org/1999/xhtml" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul" title="LOLFox" windowtype="LOLFox" orient="vertical" persist="screenX screenY width height sizemode content-body" onload="" screenX="10" screenY="10" id="xr-main"> <browser id="content-body" src="http://www.monsite.net" /> </window>
Voila, si je test dans firefox l'url : chrome://lolfox/content/lolfox.xul, le bouton milieu et droit fonctionne (ca affiche la popup), mais des que c'est dans une sidebar, ca ne fonctionn plus. C'est donc une restriction du aux sidebars.
Est-ce que qqun a une idée pour faire fonctionner le bouton du milieu sur n'importe quel lien dans une page qui est dans une sidebar ??
(par ex, la sidebar marque-page fonctionne bien, car si je met mon site dans un marque-page dans une sidebar, le bouton, du milieu fonctionne aussi ....)
Envoyé par : LvR
Date : 08/12/2005 16:30
Bon, après avoir pas mal chercher, j'ai reusisi a faire qqch ...
j'ai ajouté un onclick="onLinkClick(this, event);" sur mon element <browser>, et crée cette fonction dans un .js:
function onLinkClick(node, event) { if (event.button == 1 ) { if (event.target.href!=undefined) { var url = event.target.href; if (url.substr(0,7)=='http://') { openUILinkIn(url, "tab"); } } } }
du coup cette fonction est appellée a chaque clic n'importe ou sur la page, et moi je filtre sur les boutond du milieu ( event.button == 1 ), ensuite je récupere le target de l'evenement, et si il a un href, c'est un lien, et s'il commence par "http://" j'ouvre un nouveau tab (fonction openUILinkIn définie dans chrome://browser/content/utilityOverlay.js).
Il n'est plus possible de poster des messages dans ce forum.
Copyright © 2003-2013 association xulfr, 2013-2016 Laurent Jouanneau - Informations légales.
Mozilla® est une marque déposée de la fondation Mozilla.
Mozilla.org™, Firefox™, Thunderbird™, Mozilla Suite™ et XUL™
sont des marques de la fondation Mozilla.