首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >firefox-addon :获取屏幕边缘和网页之间的距离。

firefox-addon :获取屏幕边缘和网页之间的距离。
EN

Stack Overflow用户
提问于 2015-03-16 22:04:12
回答 1查看 111关注 0票数 4

好的,考虑一下这张图片。

代码语言:javascript
复制
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),我必须计算相对于网页的坐标。

代码语言:javascript
复制
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 )

我已经有页的宽度和高度

代码语言:javascript
复制
$(window).width()
$(window).heigth()

因此,如果我能得到标签的左角坐标,我就可以在屏幕上确定选项卡的bot角。

我在这里已经问过这个问题了,但是我想要一个IE扩展。如果你需要更多细节。但我不能用这个答案来解决火狐。

Get distance between screen edge and webpage

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-03-16 23:01:57

DOMWindows有mozInnerScreenXpageXOffsetscreenX

我用软件将屏幕移动到0,0,我得到了以下信息:

aDOMWindow.mozInnerScreenX: 8 DOMWindow.screenX: 0

如果我最大限度地利用窗口

aDOMWindow.mozInnerScreenX:-6 DOMWindow.screenX: 0

所以让我们使用screenX。

现在,如果您有一个gBrowser,那就是上面所示的“内部窗口”--我们看到boxObject有一个screenX。

所以在我看来就是这样:

代码语言:javascript
复制
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);
}
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29087795

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档