MozillaZine.jp フォーラム
https://forums.mozillazine.jp/

ブラウザ部分のscreenX,screenYを取得する方法
https://forums.mozillazine.jp/viewtopic.php?f=26&t=10284
ページ 11

作成者:  masahal [ 2010年6月19日(土) 20:43 ]
記事の件名:  ブラウザ部分のscreenX,screenYを取得する方法

ひょっとしたらすごい基礎的なことかもしれませんが、Firefoxのブラウザ部分のX,Yを取得する方法ってありませんか?
window の innerWidth, innerHeight で幅と高さは取得できるんですが、left や X は取得できないみたいです。

追記:2010/06/20 4:06PM
すいません。わかりにくい表現でした。
Firefoxの、メニューバーやサイドバーを除いた実際にページを表示してる部分のX,Yを取得するにはどうしたらいいか、という意味です。
実際にしたいことは、ページを表示してる部分に他のXUL部品を上乗せして画像を表示できるようにしたいということなので、それができるならX,Yはわからなくてもかまいません。

作成者:  aides [ 2010年6月19日(土) 21:44 ]
記事の件名:  Re: ブラウザ部分のscreenX,screenYを取得する方法

アドオンでは以下で可能。
Firesizer
https://addons.mozilla.org/en-US/firefox/addon/5792/

こう云う事では無いのかな?

一応localstore.rdfやlocalstore-safe.rdfには座標が記述されてるので、此処を参照する事に成るのかも?
詳細は不明ですが(汗
済みません。

作成者:  Sakuraya [ 2010年6月20日(日) 15:02 ]
記事の件名:  Re: ブラウザ部分のscreenX,screenYを取得する方法

masahal さんが書きました:
ひょっとしたらすごい基礎的なことかもしれませんが、Firefoxのブラウザ部分のX,Yを取得する方法ってありませんか?
window の innerWidth, innerHeight で幅と高さは取得できるんですが、left や X は取得できないみたいです。

コード:
win = document.getElementById("main-window");
X = win.getAttribute("screenX");
Y = win.getAttribute("screenY");

こうでしょうか?
DOMiで調べたらそれっぽいノードがありました。
手元の環境はLinux i686なのでWindowsではそのノードはないかもしれません。

作成者:  masahal [ 2010年6月20日(日) 16:06 ]
記事の件名:  Re: ブラウザ部分のscreenX,screenYを取得する方法

すいません。わかりにくい表現でした。
Firefoxの、メニューバーやサイドバーを除いた実際にページを表示してる部分のX,Yを取得するにはどうしたらいいか、という意味です。
実際にしたいことは、ページを表示してる部分に他のXUL部品を上乗せして画像を表示できるようにしたいということなので、それができるならX,Yはわからなくてもかまいません。

作成者:  masahal [ 2010年6月20日(日) 16:17 ]
記事の件名:  自己解決

自己解決しました。

window - MDCにのってるwindow.mozInnerScreenX でできました。

コード:
    var win = gBrowser.selectedBrowser.contentWindow;
    alert(win.mozInnerScreenX)


最初上のページの日本語版を見てたんですが、そちらの方にはのってませんでした。

作成者:  masahal [ 2010年6月20日(日) 16:49 ]
記事の件名:  Re: 自己解決

masahal さんが書きました:
window - MDCにのってるwindow.mozInnerScreenX でできました。

コード:
    var win = gBrowser.selectedBrowser.contentWindow;
    alert(win.mozInnerScreenX)



この方法だとページのロード中は取得できないみたいです。とりあえず他のロード中でないbrowser の contentWindow を取ってくるという対処法でやってみます。

ページ 11 All times are UTC + 9 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/