0

私はFirefox拡張機能を開発しています。一部の統計では、 browser内の DOM Element の実際の表示座標が必要です。

次の座標を取得できます。

  1. それを呼び出すことにより、ビューポート内の必要なDOM要素getBoundingClientRect()(これはスクロールを考慮に入れます、完璧です)。
  2. &プロパティChromeWindowをチェックすることにより、ウィンドウ ( ) 自体。screenXscreenY

しかし、 browser を呼び出すgetBoundingClientRects()システムによって描画されたウィンドウ フレームと境界線のサイズを除いた座標が取得されます (Mac でテスト済み)。オペレーティング システムごとに (境界線とフレーム) サイズを個別にカウントするにはどうすればよいですか?

それはまったく可能ですか?

4

2 に答える 2

1

window.screenXwindow.mozInnerScreenXはどうですか? それぞれscreenYなど

それが機能しない場合は、おそらくjs-ctypesを使用して OS 関数を呼び出すことができます。これにより、境界線のサイズを計算できると思います。Windows では、このスレッドで説明されているように、GetWindowRect と GetClientRect を使用します。ただし、OSXでこれがどのように可能かはわかりませんが、確かに方法があります...

幸運を!

于 2013-03-13T21:50:28.050 に答える
0

Firefoxのソース内に、それは不可能であるというコメントが見つかりました。

于 2013-04-22T13:28:23.550 に答える