1

Firefox 부가 기능을 쓰고 있으며 고급 Firefox 부가 기능 SDK API를 사용하고 있습니다.Firefox 부가 기능 SDK를 사용하여 배경 윈도우 열기

내 부가 기능이 새 창을 열고 해당 창에서 여러 탭을 엽니 다.

이 새 창을 백그라운드에서 열려면 어떻게해야합니까? 나는 그것의 오프닝이 사용자의 포커스를 활성 윈도우에 방해하지 않기를 바란다.

탭을 열 때 사용할 수있는 inBackground 옵션이 있습니다.

윈도우 모듈 문서를 높게 또는 낮게 검색했지만 새 창을 만들 때 유사한 옵션을 찾을 수 없습니다!

백그라운드에서이 새 창을 어떻게 열 수 있습니까?

모질라가 나를 금지하면, 새 창을 열면 백그라운드로 빠르게 밀려 나갈 수있는 방법이 있습니까?

답변

2

허용되지 않습니다. 완벽하게 괜찮아. 기능 옵션으로 alwaysLowered이라고 생각합니다. 기능

전체 목록은 여기에서 찾을 : https://developer.mozilla.org/en-US/docs/Web/API/window.open#Position_and_size_features

var sa = Cc["@mozilla.org/supports-array;1"].createInstance(Ci.nsISupportsArray); 
var wuri = Cc["@mozilla.org/supports-string;1"].createInstance(Ci.nsISupportsString); 
wuri.data = 'about:blank'; 
sa.AppendElement(wuri); 
let features = "chrome,dialog=no,alwaysLowered"; 
var wantTabs = false; 
if (wantTabs) { 
    features += ',all'; 
} 
/*var sDOMWin = aTab.ownerGlobal; //source DOMWindow*/ 
if (PrivateBrowsingUtils.permanentPrivateBrowsing/* || PrivateBrowsingUtils.isWindowPrivate(sDOMWin)*/) { 
    features += ",private"; 
} else { 
    features += ",non-private"; 
} 
var XULWindow = Services.ww.openWindow(null, 'chrome://browser/content/browser.xul', null, features, sa); 

당신은 XULWindow로드 한 후 뭔가를 말에이 코드를 태그 할 수 있습니다

XULWindow.addEventListener('load', function() { 
    //can lower or raise the window z-index here 
    var DOMWindow = XULWindow.QueryInterface(Ci.nsIInterfaceRequestor).getInterface(Ci.nsIDOMWindowInternal || Ci.nsIDOMWindow); 
    DOMWindow.gBrowser.selectedTab.linkedBrowser.webNavigation.stop(Ci.nsIWebNavigation.STOP_ALL); 
}, false); 
관련 문제