ある時点で、最愛の
Web開発者の誰もが、
グラフィック→画像情報セクションに背景画像を表示することをやめました。 たとえば、
webo.in Webサイトの画像に関する情報を見ると、アイコン以外は表示されません。 Palace of Pioneersのメニューアイコン、ロゴ、バナー、Ivashkaはどこに行きましたか? オフサイトでは、
このバグの記録と フォーラムの いくつかの トピック があり 、そのうちの1つはすでに2006年にあります。
修正してみましょう。
プロファイルフォルダーに移動し、
拡張機能/ {c45c406e-ab73-11d8-be73-000a95be3b12}に移動します。 これは拡張フォルダーです。 スクリプトの形式で私たちが興味を持っている機能は
chrome / webdeveloper.jarにパッケージ化されて
おり 、それを解凍します(
コンテンツ 、
ロケール 、
スキンは
chromeで表示さ
れるはず
です )。 ここで、ブラウザが展開されたコンテンツを正確に使用することを確認する必要があります。そのため、ルートフォルダー内の
chrome.manifestを修正し、
jarへのすべての参照を置き換えます
:chrome / webdeveloper.jar! クロムのみ 。 正確にするために、.jarファイルを削除または名前変更し、ブラウザーを再始動して、拡張機能の動作を確認してください。 これまでのところ、すべてが機能しています。
ここで、.jarアーカイブから抽出した
コンテンツフォルダー、より正確には、その中に含まれる
webdeveloperフォルダーの
コンテンツに注目しましょう。
オーバーレイ行のマニフェストで
確認した
webdeveloper.xulファイルにアクセスし、目的のメニュー項目を見つけて、
oncommandで何を持っているかを確認できます。 そして、とりわけ、
images.jsファイル(おそらく、グラフィックスの操作を担当するのは彼です)に気付き、その中の
情報を探すことができます。
それと別の方法の両方がすぐに
webdeveloper_viewImageInformation()関数に
つながり 、次の行が表示されます。
imageList = webdeveloper_getImagesForDocument(pageDocument, true, true);
この
コンテンツは、ファイル
コンテンツ/ webdeveloper / common / dom.jsにあり、背景画像を取得するコードを確認します。
else if(includeBackgroundImages) { computedStyle = element.ownerDocument.defaultView.getComputedStyle(element, null);
明らかに、キャッチはこの場所のどこかにあります。 拡張機能のデバッグ方法がわからないので、アラートをいくつか追加したところ、チェック対象の
primitiveTypeプロパティは常に
undefinedであることがわかりました。
ドキュメントを見てみましょう
。CSSValueオブジェクトには
cssValueTypeプロパティがあり、物事のロジックと拡張機能の作成者によれば、
背景画像は
CSS_PRIMITIVE_VALUE (1)に等しくなければなりません。 ただし、実際には
CSS_VALUE_LIST (2)と等しいことが判明しているため、明確ではありません。 しかし、神は彼を祝福してください、この場合私たちのオブジェクトを実装する
CSSValueListインターフェースを見てみましょう。
CSSValueオブジェクトを返す
item()メソッドがあり、それを使用します。
else if(includeBackgroundImages) { computedStyle = element.ownerDocument.defaultView.getComputedStyle(element, null);
CSSValueListが検出され
たら 、
backgroundImageオブジェクトを最初の要素に置き換えて、以前と同様に操作します。 ブラウザを再起動して確認してください-出来上がり!
データを含む14の画像
:URI これで、拡張フォルダーの内容をzipアーカイブにパックし、拡張子.xpiを付けて、将来のインストールに使用できます。
更新: FF 3.6-4.0b12、Web Developer 1.1.9、Windows 7