簡體   English   中英

處理firefox插件中的右鍵單擊,僅適用於文檔

[英]Handling rightclick in a firefox addon, only for the document

我正在編寫一個相當簡單的firefox附加組件,當用戶在網頁的任何位置點擊鼠標右鍵時,我想做一些事情。 我得到了它的工作,但奇怪的是我也從firefox UI獲得所有右鍵單擊(如在工具欄,選項卡,urlbar等)。 當然,我對那些不感興趣。

document.addEventListener("contextmenu", function(e) {
    // do stuff here
}, true);

我最初在窗口上有這個監聽器,但它並沒有改變一件事。

關於如何在網站上發生右鍵點擊時觸發事件的任何提示?

我猜你是從瀏覽器窗口疊加運行代碼-這樣的document ,你附上你的事件監聽器是瀏覽器窗口的XUL文件。 如果您只需要瀏覽器中的事件,那么您應該將事件監聽器附加到瀏覽器。 這仍然不會做你想要的,因為瀏覽器也有一些用戶界面(通知欄),但很容易檢測事件目標是否在內容文檔中:

gBrowser.addEventListener("contextmenu", function(e) {
    if (e.target.ownerDocument.defaultView.top == window)
      return;

    // do stuff here
}, true);

這使用了window.top是瀏覽器內窗口的頂級內容窗口這一事實 - 它們不能越過邊界到XUL代碼。 對於瀏覽器UI元素,您將獲得真正的頂部窗口,但是您運行的窗口。

暫無
暫無

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

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