当我加载页面时,有一个样式属性已添加到我的模板中没有的<body>
标记中。如何发现javascript对其进行了修改?
为了清楚起见,身体标签现在是:
<body class="home page" style="margin-top: -43px;">
因此风格不是来自样式表。虽然模板根本不包含“style =”位。所以我很确定一些正在运行的javascript正在修改body标签。
我可以使用Firefox / Firebug和Chrome Inspector。我尝试右键单击“HTML”/“元素”视图中的body标签,然后选择“中断属性修改”,但是在我可以执行此操作时发生了更改,并且断点不会在页面重新加载后继续存在。
我正在使用Django和jQuery来改变答案。
答案 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文件,直到添加它为止。