繁体   English   中英

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

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM