firefox-addon : 获取屏幕边缘和网页之间的距离
firefox-addon : Get the distance between screen edge and webpage
好的,考虑这张图片。
I develop an add-on firefox and I would :
- the distance in red, between top of screen and top of `visible webpage`
- the distance in red between left of screen and left of `visible webpage`
- the distance in green
有什么意义?
我有千个屏幕坐标(X,Y),我必须计算相对于网页的坐标。
Example :
Considering
Screen size : 1200 * 800
Webpage size : 400*300
Red distance between left screen border and left webpage border : 200
Red distance between top screen border and top webpage border : 300
So my coordinates screen => relative webpage becomes :
( 100, 100 ) => OUTSIDE WEBPAGE( ignored )
( 1100, 650 ) => OUTSIDE WEBPAGE ( ignored )
( 200, 300 ) => ( 0,0 )
( 250, 400 ) => ( 50, 100 )
我已经有了页面的宽度和高度
$(window).width()
$(window).heigth()
所以如果我能得到标签的左角坐标,我就可以确定标签在屏幕上的下角。
我已经在这里问过这个问题,但是是针对 IE 扩展的。如果您需要更多详细信息。但是我不能将那个答案用于 firefox。
Get distance between screen edge and webpage
DOMWindow
有mozInnerScreenX
、pageXOffset
、screenX
我用软件将屏幕移动到 0,0,我得到了这个:
aDOMWindow.mozInnerScreenX: 8
DOMWindow.screenX: 0
如果我最大化 window
aDOMWindow.mozInnerScreenX: -6
DOMWindow.screenX: 0
所以让我们使用 screenX。
现在如果你有一个 gBrowser,那就是你在上面指出的 "inner window" 我们看到 boxObject 有一个 screenX。
所以在我看来只是这样做:
var aDOMWindow = Services.wm.getMostRecentWindow('navigator:browser'/*null*/);
console.log(aDOMWindow.mozInnerScreenX, aDOMWindow.screenX)
if (aDOMWindow.gBrowser) {
var innerWin = aDOMWindow.gBrowser.boxObject;
console.log(innerWin.screenX, innerWin.screenY);
}
I develop an add-on firefox and I would :
- the distance in red, between top of screen and top of `visible webpage`
- the distance in red between left of screen and left of `visible webpage`
- the distance in green
有什么意义?
我有千个屏幕坐标(X,Y),我必须计算相对于网页的坐标。
Example :
Considering
Screen size : 1200 * 800
Webpage size : 400*300
Red distance between left screen border and left webpage border : 200
Red distance between top screen border and top webpage border : 300
So my coordinates screen => relative webpage becomes :
( 100, 100 ) => OUTSIDE WEBPAGE( ignored )
( 1100, 650 ) => OUTSIDE WEBPAGE ( ignored )
( 200, 300 ) => ( 0,0 )
( 250, 400 ) => ( 50, 100 )
我已经有了页面的宽度和高度
$(window).width()
$(window).heigth()
所以如果我能得到标签的左角坐标,我就可以确定标签在屏幕上的下角。
我已经在这里问过这个问题,但是是针对 IE 扩展的。如果您需要更多详细信息。但是我不能将那个答案用于 firefox。
Get distance between screen edge and webpage
DOMWindow
有mozInnerScreenX
、pageXOffset
、screenX
我用软件将屏幕移动到 0,0,我得到了这个:
aDOMWindow.mozInnerScreenX: 8 DOMWindow.screenX: 0
如果我最大化 window
aDOMWindow.mozInnerScreenX: -6 DOMWindow.screenX: 0
所以让我们使用 screenX。
现在如果你有一个 gBrowser,那就是你在上面指出的 "inner window" 我们看到 boxObject 有一个 screenX。
所以在我看来只是这样做:
var aDOMWindow = Services.wm.getMostRecentWindow('navigator:browser'/*null*/);
console.log(aDOMWindow.mozInnerScreenX, aDOMWindow.screenX)
if (aDOMWindow.gBrowser) {
var innerWin = aDOMWindow.gBrowser.boxObject;
console.log(innerWin.screenX, innerWin.screenY);
}