1

ページをロードすると<body>、テンプレートにないタグに追加されたスタイル属性があります。どのjavascriptがそれを変更したかをどのように見つけることができますか?

明確にするために、bodyタグは次のようになりました。

<body class="home page" style="margin-top: -43px;">

したがって、スタイルはスタイルシートからのものではありません。テンプレートには「style=」ビットはまったく含まれていませんが。したがって、実行中のJavaScriptがbodyタグを変更していると確信しています。

Firefox/FirebugとChromeInspectorの両方を利用できます。「HTML」/「要素」ビューでbodyタグを右クリックし、「属性の変更時にブレーク」を選択しようとしましたが、それができるようになるまでに変更が行われ、ブレークポイントはページのリロード後も存続しません。

答えが変わる場合に備えて、DjangoとjQueryを使用しています。

4

3 に答える 3

2

私は現在、FireDiffと呼ばれるFirebugの拡張機能を使用しており、そのホームページをここに提出できます:http: //www.incaseofstairs.com/firediff/

于 2013-01-16T16:25:32.437 に答える
1

ミューテーションオブザーバーを使用できます。
ページの読み込み時に最初に実行されるものとして、このコードを追加してみてください。

var target = document.querySelector('body'),
    observer = new MutationObserver(function(mutations) {
        mutations.forEach(function(mutation) {
            debugger;
        });
    });
  
observer.observe(target, { attributes: true });

ちなみに、その特定の種類のブレークポイントがページのリロードを生き延びたとしたら、それは素晴らしいことです。

于 2013-01-16T16:32:33.657 に答える
0

サーバー側にも追加される可能性があります。ソースファイルでスタイルシート名を検索すると、JavaScriptファイルまたはPythonファイルのいずれかに表示されます。つまり、「mystylefile.css」のgrep

JavaScriptを無効にして、絞り込みたい場合は、JavaScriptがまだ追加されているかどうかを確認できます。

アップデート

要素にマージントップを追加したものを見つけるのは難しくなります!JavaScriptファイルで「margin-top」を検索して、返される結果の数を確認するか、JavaScriptファイルを1つずつ追加して追加します。

于 2013-01-16T16:15:43.770 に答える