简体   繁体   English

更改Firefox扩展叠加中的Javascript

[英]Change Javascript in a Firefox extension overlay

I wrote an extension for Firefox with an overlay. 我为Firefox编写了带有扩展程序的扩展程序。

When I click on the principal button, the extension loads entconnect.entImmediat , but when I click on "Changez vos identifiants", the extension loads entconnect.openLogs AND entconnect.entImmediat . 当我单击主体按钮时,该扩展entconnect.entImmediat加载entconnect.entImmediat ,但是当我单击“ Changez vos identifiants”时,该扩展entconnect.openLogs加载entconnect.openLogsentconnect.entImmediat How can I do for just load entconnect.openLogs when I click on "Changez vos identifiants"? 当我单击“ Changez vos identifiants”时,如何只加载entconnect.openLogs? This is the code of my overlay : 这是我的叠加层的代码:

<overlay id="entconnect-overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul">
<script src="chrome://entconnect/content/entconnect.js"/>
<toolbarpalette id="BrowserToolbarPalette">
    <toolbarbutton class="toolbarbutton-1 chromeclass-toolbar-additional" id="entconnect-addbar" label="Allez sur votre ENT" type="menu-button" oncommand="entconnect.entImmediat();">
        <menupopup>
            <menuitem label="Changez vos identifiants" oncommand="entconnect.openLogs();"/>
        </menupopup>                             
    </toolbarbutton>
</toolbarpalette>
</overlay>

The command event bubbles up meaning that it will be received by event handlers further up in the DOM hierarchy. 命令事件冒泡,这意味着它将由DOM层次结构中更远的事件处理程序接收。 You can prevent the event from bubbling further up if you already handled it: 如果已经处理过该事件,则可以防止该事件进一步冒泡

oncommand="entconnect.openLogs();event.stopPropagation();"

Or you can look at the event target : 或者您可以查看事件目标

oncommand="if (event.target.localName != 'menuitem') entconnect.entImmediat();"

Or you can simply process only the events that were triggered at the current element : 或者,您可以仅处理仅在当前元素处触发的事件:

oncommand="if (event.eventPhase == event.AT_TARGET) entconnect.entImmediat();"

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM