2017-02-11 3 views
0

フル解像度1920x1080とlayout.css.devPixelsPerPxを-1(自動)に設定した場合、私のFirefoxブラウザ(51.0.1 x32)ではかなり厄介な問題があります。 JSコンソールでこのコードを実行してみてください:Firefoxが高DPIで奇妙なJavaScriptの振る舞い

var mywin = window.open("about:blank", 
     "mywin", 
     "width=300,left="+(screen.availWidth - 300)+",top=0"); 

は右、罰金作品? は今バックJSコンソールにアクセスし、このコードを実行します。

mywin.moveTo(mywin.screenX,0); 

ウィンドウが移動していないはずですが、Firefoxで、それは左に約400ピクセルを移動します。 moveToはピクセル比率を尊重しないので、私は推測しています。 window.screen.availWidthは私に1536を与え、1.25のwindow.devicePixelRatioを掛け合わせると1920になります.1536を超えて何かにX方向にウィンドウを移動しようとすると、「あまりにも遠い」ため何もしません。

flippin Internet Explorerで同じコードを実行すると、予期した結果が得られます。 Firefoxでは、layout.css.devPixelsPerPxを1.0に設定しても、FirefoxのUIは非常に小さい場合にのみ正しく動作します。

誰かがこの動作を確認できますか、Firefox/Windowsがうんざりしていますか?私はFirefoxを約5回アンインストールして再インストールしました。

+0

私のために移動しません。あなたは何を達成しようとしていますか? – charlietfl

+0

さて、窓を特定の場所に移動したいのですが。 Firefoxの場合、何らかの理由でmoveTo、resizeToなどのピクセル比率が無視されます。 mywin.moveTo(mywin.screenX、0)を約10回呼び出すと、ウィンドウが左端になります。 理由を知りたいのですが。 – cbg

+0

@charlietfl window.devicePixelRatioは1.0以上ですか? – cbg

答えて

0

これはFirefoxのバージョン52まで存在していたバグでした。私がbugzillaで報告した後、Firefox 53で修正され、もう存在しなくなりました。