Forums : Extensions

Aller à la discussion :  Plus récente Plus ancienne

# help : Pb bouton milieu dans une sidebar sous FF1.5

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 :

  • quand je sur un lien de la page html dans la sidebar, le lien s'ouvre bien dans la partie "normale" de FF.
  • par contre, le clic milieu et droit ne font rien, et j'aimerai bien que le clic milieu fonctionne (pour ouvrir le lien dans un new tab)

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 ....)

# Re: help : Pb bouton milieu dans une sidebar sous FF1.5

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.