2
我正在開發一個Firefox擴展,我使用的是xul:panel。我想把它放在右下角,但我不想在windows任務欄下。我使用openPopupAtScreen和屏幕座標來定位它我的問題是當用戶在屏幕右側的垂直任務欄。我的面板在任務欄下。有什麼辦法來檢測任務欄的位置或解決方法來繪製它根據?Firefox擴展檢測窗口任務欄位置
我正在開發一個Firefox擴展,我使用的是xul:panel。我想把它放在右下角,但我不想在windows任務欄下。我使用openPopupAtScreen和屏幕座標來定位它我的問題是當用戶在屏幕右側的垂直任務欄。我的面板在任務欄下。有什麼辦法來檢測任務欄的位置或解決方法來繪製它根據?Firefox擴展檢測窗口任務欄位置
您應該使用nsIScreenManager爲:
var screenManager = Components.classes["@mozilla.org/gfx/screenmanager;1"]
.getService(Components.interfaces.nsIScreenManager);
var screen = screenManager.primaryScreen;
var left = {};
var top = {};
var width = {};
var height = {};
screen.GetAvailRect(left, top, width, height);
alert("Available screen area: " + left.value + "," + top.value + " x " +
width.value + "," + height.value);
請注意,這是在看只有主屏幕 - 這可能不是最好的解決方案,如果用戶有多個屏幕。一種替代方法是獲取與您正在運行的Firefox窗口的座標相對應的屏幕,然後查看其可用區域。