如何查看javascript修改HTML的特定位?

时间:2013-01-16 16:11:21

标签: javascript html debugging

当我加载页面时,有一个样式属性已添加到我的模板中没有的<body>标记中。如何发现javascript对其进行了修改?

为了清楚起见,身体标签现在是:

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

因此风格不是来自样式表。虽然模板根本不包含“style =”位。所以我很确定一些正在运行的javascript正在修改body标签。

我可以使用Firefox / Firebug和Chrome Inspector。我尝试右键单击“HTML”/“元素”视图中的body标签,然后选择“中断属性修改”,但是在我可以执行此操作时发生了更改,并且断点不会在页面重新加载后继续存在。

我正在使用Django和jQuery来改变答案。

3 个答案:

答案 0 :(得分:2)

我目前使用名为 FireDiff 的Firebug扩展程序,您可以在此处提交其主页:http://www.incaseofstairs.com/firediff/

答案 1 :(得分:1)

您可以使用mutation observers 尝试添加此代码作为在页面加载时执行的第一件事:

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

作为旁注,如果特定类型的断点在页面重新加载中幸存下来会很棒。

答案 2 :(得分:0)

也有可能添加服务器端。如果在源文件中搜索样式表名称,它应该出现在JavaScript或Python文件中。即grep for“mystylefile.css”

如果要缩小JavaScript,可以禁用JavaScript并查看是否仍然添加了它。

<强>更新

找到为元素添加margin-top的内容会更难!您可以搜索JavaScript文件中的“margin-top”并查看您获得的结果数量 - 或者逐个添加JavaScript文件,直到添加它为止。