簡體   English   中英

如何處理由Firefox插件調度的事件?

[英]How to handle an event dispatched by a Firefox add-on?

為Firefox 29.0安裝了TST插件 這幾乎對我來說都是完美的,但是我想改變一些選擇。

當我關閉當前選項卡時,TST集中在左側選項卡上。 我希望它集中在關閉當前位置(如Ctrl + Tab)之后最后打開的選項卡的歷史記錄中的上一個位置。

正如開發人員所說 ,我應該抓住他們的事件,阻止它發生,並且...什么? 開發者提供的代碼段:

window.addEventListener(
  "TreeStyleTabFocusNextTab",
  function(aEvent) {
    if (Prefs.getCharPref('myextension.focus.mode') != 'default')
      aEvent.preventDefault();
  },
  false
);

我不知道該怎么辦,甚至應該在那做。 在哪里可以編寫代碼來捕獲事件? 如何將ctrl + tab事件發送到TST,並且僅在關閉當前選項卡之后才發送?

TST開發人員將文檔提供給其他喜歡修改TST或與TST進行交互的擴展開發人員,而不是“常規”用戶。 您必須編寫您的加載項,並在其中使用您在覆蓋腳本中引用的代碼段中的browser.js

我快速瀏覽了該插件本身的代碼,以檢查是否有等效的偏好設置而不用編寫代碼來控制它,而EDIT則有一個: browser.tabs.selectOwnerOnClose onFocusNextTabmodules/window.js ...不知道如果是在附加選項窗口的任何地方暴露......但是你可以用about:config (在選項卡中打開此),將其設置為true (你可能必須先在about:config中將其創建為布爾型首選項)。

因此,您的選擇如下:

  • 使用首選項。
  • 修改加載項本身( _tryMoveFocusFromClosingCurrentTab我收集的信息,在modules/browser.js_tryMoveFocusFromClosingCurrentTab )。
  • 編寫一個簡短的XUL覆蓋插件,該插件使用TST作者在browser.xul覆蓋腳本中建議的摘錄。

如果您決定自己更改/編寫附加代碼,請參閱信息頁面和部分,以獲取更多信息。

暫無
暫無

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

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