簡體   English   中英

更改Firefox擴展疊加中的Javascript

[英]Change Javascript in a Firefox extension overlay

我為Firefox編寫了帶有擴展程序的擴展程序。

當我單擊主體按鈕時,該擴展entconnect.entImmediat加載entconnect.entImmediat ,但是當我單擊“ Changez vos identifiants”時,該擴展entconnect.openLogs加載entconnect.openLogsentconnect.entImmediat 當我單擊“ Changez vos identifiants”時,如何只加載entconnect.openLogs? 這是我的疊加層的代碼:

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

命令事件冒泡,這意味着它將由DOM層次結構中更遠的事件處理程序接收。 如果已經處理過該事件,則可以防止該事件進一步冒泡

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

或者您可以查看事件目標

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

或者,您可以僅處理僅在當前元素處觸發的事件:

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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM