搜索 | 用户支持

防范以用户支持为名的诈骗。我们绝对不会要求您拨打电话或发送短信,及提供任何个人信息。请使用“举报滥用”选项报告涉及违规的行为。

Learn More

Using Mozilla.cfg to focus a custom new tab page

  • 1 个回答
  • 1 人有此问题
  • 160 次查看
  • 最后回复者为 Vallode

more options

Hi everyone,

I am having trouble getting my custom new tab page to be focused when opened (instead of the address bar).

I am currently using the `autoconfig.js` + `mozilla.cfg` approach to overriding the `AboutNewTab.jsm` service with a custom local file. This is working great with the two files containing this code:

autoconfig.js: ``` pref("general.config.filename", "mozilla.cfg"); pref("general.config.obscure_value", 0); ```

mozilla.cfg: ``` // Custom firefox config

let { classes:Cc, interfaces:Ci, utils:Cu } = Components;

try {

 Cu.import("resource:///modules/AboutNewTab.jsm");
 let newTabURL = "file:///home/vallode/Documents/test/index.html";
 AboutNewTab.newTabURL = newTabURL;

} catch(e) { Cu.reportError(e); } ```

I have been attempting to use the `gBrowser` global to add an event listener to the new tab opening, but with no success. Could anyone point me in the right direction for something like this?

Hi everyone, I am having trouble getting my custom new tab page to be focused when opened (instead of the address bar). I am currently using the `autoconfig.js` + `mozilla.cfg` approach to overriding the `AboutNewTab.jsm` service with a custom local file. This is working great with the two files containing this code: autoconfig.js: ``` pref("general.config.filename", "mozilla.cfg"); pref("general.config.obscure_value", 0); ``` mozilla.cfg: ``` // Custom firefox config let { classes:Cc, interfaces:Ci, utils:Cu } = Components; try { Cu.import("resource:///modules/AboutNewTab.jsm"); let newTabURL = "file:///home/vallode/Documents/test/index.html"; AboutNewTab.newTabURL = newTabURL; } catch(e) { Cu.reportError(e); } ``` I have been attempting to use the `gBrowser` global to add an event listener to the new tab opening, but with no success. Could anyone point me in the right direction for something like this?

被采纳的解决方案

I've had good success using the following defined in my mozilla.cfg

   // Auto focus new tab content
   try {
     Cu.import("resource://gre/modules/Services.jsm");
     Cu.import("resource:///modules/BrowserWindowTracker.jsm");
   
     Services.obs.addObserver((event) => {
       window = BrowserWindowTracker.getTopWindow();
       window.gBrowser.selectedBrowser.focus();
     }, "browser-open-newtab-start");
   } catch(e) { Cu.reportError(e); }
定位到答案原位置 👍 0

所有回复 (1)

more options

选择的解决方案

I've had good success using the following defined in my mozilla.cfg

   // Auto focus new tab content
   try {
     Cu.import("resource://gre/modules/Services.jsm");
     Cu.import("resource:///modules/BrowserWindowTracker.jsm");
   
     Services.obs.addObserver((event) => {
       window = BrowserWindowTracker.getTopWindow();
       window.gBrowser.selectedBrowser.focus();
     }, "browser-open-newtab-start");
   } catch(e) { Cu.reportError(e); }