Javascript 破门而入;innerHTML";铬的变化
Chrome的开发者工具提供了在修改元素属性或DOM树时中断javascript代码执行的选项。(检查元件>右键单击元件标签>“断开…”)Javascript 破门而入;innerHTML";铬的变化,javascript,google-chrome-devtools,Javascript,Google Chrome Devtools,Chrome的开发者工具提供了在修改元素属性或DOM树时中断javascript代码执行的选项。(检查元件>右键单击元件标签>“断开…”) 但是,当元素的innerHTML被JavaScript更改时,我想跳转到代码中。激活所有“断开”选项都不行,所以我想知道是否有办法做到这一点。我建议尝试一下这个活动 根据Alexander的建议,您可以使用domsubtreemedited: $0.addEventListener('DOMSubtreeModified', function(){debug
但是,当元素的innerHTML被JavaScript更改时,我想跳转到代码中。激活所有“断开”选项都不行,所以我想知道是否有办法做到这一点。我建议尝试一下这个活动
根据Alexander的建议,您可以使用
domsubtreemedited
:
$0.addEventListener('DOMSubtreeModified', function(){debugger;});
(其中$0为已检查元素。)然而,由于
domsubtreemedited
已被弃用,我还想抛出一个替代方案。不幸的是,这仅在内部HTML被实际的innerHTML
属性更改时才起作用:
Object.defineProperty($0, 'innerHTML', {set:function(){debugger;}})
- 带子树的属性修改
- 带子树的节点删除
旧事件(
domsubtreemedited
,DOMCharacterDataModified
,…)已弃用 我发现了一个技巧,首先可以编辑dom html并附加一个html标记,
说
foo
,然后在dom上设置一个子树中断。当dom更改时,它将触发中断。哦。。。聪明!这是否也适用于IE的最新版本?或者他们HtmleElement还没有从对象继承吗?我还不会在生产代码中使用它…@Protector one:…但我现在会使用它!它必须是“DOMCharacterDataModified”而不是“DomCharacterDataMofied”,才能正常工作。
Object.defineProperty($0, 'innerHTML', {set:function(){debugger;}})