[英]How do I see what javascript modifies a particular bit of HTML?
当我加载页面时,有一个样式属性已添加到我的模板中不存在的<body>
标记中。 如何发现javascript对其进行了修改?
为了清楚起见,身体标签现在是:
<body class="home page" style="margin-top: -43px;">
所以风格不是来自样式表。 虽然模板根本不包含“style =”位。 所以我很确定一些正在运行的javascript正在修改body标签。
我可以使用Firefox / Firebug和Chrome Inspector。 我尝试右键单击“HTML”/“元素”视图中的body标签,然后选择“中断属性修改”,但是在我可以执行此操作时发生了更改,并且断点不会在页面重新加载后继续存在。
我正在使用Django和jQuery来改变答案。
我目前使用Firebug的扩展名为FireDiff,你可以在这里提交它的主页: http : //www.incaseofstairs.com/firediff/
你可以使用变异观察者 。
尝试添加此代码作为在页面加载时执行的第一件事:
var target = document.querySelector('body'),
observer = new MutationObserver(function(mutations) {
mutations.forEach(function(mutation) {
debugger;
});
});
observer.observe(target, { attributes: true });
作为旁注,如果特定类型的断点在页面重新加载时幸存下来会很棒。
有可能它也被添加到服务器端。 如果在源文件中搜索样式表名称,它应该出现在JavaScript或Python文件中。 ie grep for“mystylefile.css”
如果要缩小JavaScript,可以禁用JavaScript并查看是否仍然添加了JavaScript。
更新
找到为元素添加margin-top的内容将更难! 您可以搜索JavaScript文件中的“margin-top”并查看您获得的结果数量 - 或者逐个添加JavaScript文件,直到添加它为止。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.