0

CTRL-PLUSユーザーがとキーを入力したときに生じるスケーリング動作を理解するために、Firefox Scratchpad を使用していCTRL-MINUSます。Components.interfaces.nsIDOMWindowUtils.screenPixelsPerCSSPixel Javascript Scratchpad では、次のようにプロパティにアクセスする Javascript コードのスニペットを評価してい ます。

var util = window.QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindowUtils); 
util.screenPixelsPerCSSPixel

Scratchpadで、上記CTRL-Lの最後の後に入力すると、例外が発生します。lscreenPixelsPerCSSPixel

Exception: The operation is insecure.

(現在アクティブな Firefox タブがhttp://www.google.comを指していることに注意してください)。

このdevtools.chrome.enabledコンテキストではフラグは true に設定されていますが、例外がまだスローされているため、問題にはならないようです。

Javascript Scratchpad にその値を表示させるにはどうすればよいですか?

これは、デバッグの儀式中に理解を深めるための一時的なものにすぎません。ここでは、「倍率を表示することがセキュリティ上のリスクになるのはなぜですか?」という明白な質問は脇に置いておいてください。標準的で安全な Firefox コントロールの範囲から値を取得した後で、about:config後で簡単に元に戻すことができる値を有効/無効にすることができます。

4

1 に答える 1

0

これが私が見つけた答えです:

window環境 (環境メニューを参照) がコンテンツに設定されている Scratchpad スコープから変数にアクセスすると、 1 つのタイプのオブジェクトが得られますが、環境がブラウザーに設定されている場合は、別のタイプのオブジェクトが実行されます (CTRL-Lスクラッチ パッド レポートでは、タイプのChromeWindow)。オブジェクトは、window.contentオブジェクトに関連するコンテンツ オブジェクトChromeWindowです。

の値

....QueryInterface(Components.interfaces.nsIInterfaceRequestor).getInterface(Components.interfaces.nsIDOMWindowUtils).screenPixelsPerCSSPixel

オブジェクトに対して相対window( ChromeWindow) オブジェクトが返さ 1れますwindow.content

(編集: 以前ここにあった Javascript コードを再配置しました。以下を参照してください。)

値の使用方法を示すために、Firefox での CTRL-F テキストの最上位 X ウィンドウ x/y 座標の検索に関する他の質問への回答で、サンプル Javascript をいくつか提供しました。

于 2013-01-06T18:44:43.650 に答える