Skip to content Skip to sidebar Skip to footer

Chrome - Break On Attributes Modification

I want to break when the class attribute is changed by a script. I tried it with 'Break on: attribute modifications but it doesn't break.'

Solution 1:

Usually Chrome's Break on functionality should work as expected, if not you can use the below:

Workaround

The following code will only work if your browser supports MutationObserver. Open developer tools using F12 and execute the following code in the console:

varSpy = /** @class */ (function () {
    functionSpy() {
    }
    Spy.observe = function (targetNode) {
        Spy.observer.observe(targetNode, Spy.config);
    };
    Spy.disconnect = function () {
        Spy.observer.disconnect();
    };
    Spy["break"] = function (mutationsList, observer) {
        debugger;
    };
    Spy.config = { attributes: true, childList: true }; // Change the config to your needsSpy.observer = newMutationObserver(Spy["break"]);
    returnSpy;
}());

After that you have to watch the node that you want to track changes for, like:

Spy.observe(document.getElementById("notify-container"));

Now the debugger will break on attribute changes made to this element.The developer tools must stay open for this to work.

When the debugger breaks, you can now under Sources tab see, which function made the change:

enter image description here

To stop tracking use:

Spy.disconnect();

Post a Comment for "Chrome - Break On Attributes Modification"