Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
查找正在更改DOM元素的javascript_Javascript_Html_Dom_Dom Manipulation - Fatal编程技术网

查找正在更改DOM元素的javascript

查找正在更改DOM元素的javascript,javascript,html,dom,dom-manipulation,Javascript,Html,Dom,Dom Manipulation,我可以使用什么技术来发现javascript改变了HTML元素?我在查找特定元素如何在加载时添加内联样式的display:none时遇到了一些问题。我知道我最终会找到这样做的脚本,但我希望这个过程更简单 我的理想解决方案是在修改DOM元素后立即中断javascript执行。我知道Chrome的开发工具能够右键单击元素并选择Break On>Attribute Modifications。然而,这是在页面加载的某个时候发生的,所以如果我能在所有其他脚本声明之前插入一些脚本,声明“使用类XYZ监视元

我可以使用什么技术来发现javascript改变了HTML元素?我在查找特定元素如何在加载时添加内联样式的
display:none
时遇到了一些问题。我知道我最终会找到这样做的脚本,但我希望这个过程更简单

我的理想解决方案是在修改DOM元素后立即中断javascript执行。我知道Chrome的开发工具能够右键单击元素并选择Break On>Attribute Modifications。然而,这是在页面加载的某个时候发生的,所以如果我能在所有其他脚本声明之前插入一些脚本,声明“使用类XYZ监视元素”,并在元素修改时中断JS执行,那就太好了。然后,JS执行将在我可以看到修改元素的JS的地方中断,或者通过查看调用堆栈可以找到,但无论哪种方式,我都可以看到触发中断的脚本。我已经找到了一些答案,告诉我如何使用Chrome开发工具/Firebug实现这一点,但正如我所说,这个问题是关于编程方法的

您可以使用:-

document.documentElement.addEventListener('DOMAttrModified', function(e){
  if (e.attrName === 'style') {
    console.log('prevValue: ' + e.prevValue, 'newValue: ' + e.newValue);
  }
}, false);
看看这个:-

您可以使用:-

document.documentElement.addEventListener('DOMAttrModified', function(e){
  if (e.attrName === 'style') {
    console.log('prevValue: ' + e.prevValue, 'newValue: ' + e.newValue);
  }
}, false);
看看这个:-


右键单击DOM元素>断开>属性修改


中通过#3右键单击DOM元素>断开>属性修改


通过#3 in

接受的答案不能完全回答问题,因为它对页面加载没有帮助

我解决了这个问题,但在相关元素之后立即放置了一个脚本块

调试器


然后,我可以附加dom主题化断点。通过右键单击元素并在开发人员工具中选择“中断”->“属性修改”,如其他答案中所述。

接受的答案不能完全回答问题,因为它对页面加载没有帮助

我解决了这个问题,但在相关元素之后立即放置了一个脚本块

调试器


然后,我可以附加dom主题化断点。通过右键单击元素并在开发工具中选择“断开”->“属性修改”,如其他答案中所述。

为什么note只将所有JS放入一个目录并对“无”进行grep?为什么note只将所有JS放入一个目录并对“无”进行grep?@VitalyZdanevich你能提供一个代码笔示例吗?好,因此,您无法设置此类断点并重新加载页面。。。。似乎只适用于源断点。@VitalyZdanevich您能提供一个代码笔示例吗?好的,所以您不能设置这种断点并重新加载页面。。。。似乎只适用于源断点。是的,似乎所有主要浏览器都不推荐使用DOMAttrModified是的,似乎所有主要浏览器都不推荐使用DOMAttrModified。当我发帖时,我会很感激的!我能够做我需要的事情,但这是我所缺少的。当我发布这个问题时,我会很感激的!我能够做我需要的事情,但这就是我所缺少的。