Use QCDR Dynamic DOM Watch for Late Browser-Side Changes

Dynamic DOM Watch records selected visible DOM changes that happen after the watch begins. Use it when output appears, changes, disappears, or has an attribute updated by browser-side JavaScript after Joomla's original HTML response has already loaded.

The watch proves timing. It does not identify the exact JavaScript file, library, AJAX response, or call stack that caused the change.

Start the Watch at the Right Time

  1. Launch a private Discovery session on the relevant frontend page.
  2. Choose Watch Dynamic DOM immediately before reproducing the late change.
  3. Perform the normal frontend action that causes the content to appear/change, or let the page's own delayed behavior run.
  4. Review the recorded inserted content, text changes, visibility/structure changes, and selected attribute changes.
  5. Choose Explain This Output on a connected result when you want normal source evidence and a fingerprint for that element.

What QCDR Observes

QCDR uses the browser's MutationObserver for subtree child insertions, text changes, and selected attributes. The watched attribute set includes class, style, hidden, href, src, alt, title, aria-label, and value. Changes to class/style/hidden are presented as visibility/structure changes; other watched attributes are reported as attribute changes.

Automatic Safety Limits

  • The watch stops automatically after 60 seconds.
  • It also stops after 600 recorded mutation records.
  • The detailed result list retains at most 160 rows, combining repeated changes to the same element/kind/attribute when possible.
  • QCDR ignores mutations inside its own Discovery interface.

You can stop the watch manually, clear results, filter the list, or start a fresh watch.

How Late-DOM Evidence Is Used

A recorded result is marked LATE DOM with elapsed timing from the start of the watch. QCDR associates that timing metadata with the element so Page Scan and Explain This Output can show PROVEN browser-mutation timing alongside normal route/render/source candidates.

Do Not Over-Interpret the Result

If a button changes at +2.4 seconds, QCDR has proved that the browser DOM changed after the watch started. It has not proved which script or server response caused it. Use browser developer tools, network inspection, or the owning extension's diagnostics when exact JavaScript attribution is required.

Use Dynamic Evidence When Drafting

If you open a late-DOM result in Explain This Output and then create a Draft Rule, the Target Fingerprint can preserve that late-DOM timing signal as advisory evidence. The eventual Rule still works on QCDR's rendered-output runtime model; Discovery does not convert browser-side JavaScript into a new runtime engine or modify source files.


Community Discussion

Want to compare workflows, share practical tips, or discuss how you use this QCDR feature? Visit the QC Dynamic Replacer Community. For private support, bug reports, account-specific issues, or feature requests, use the QuantaCade support system.