On Fri, Jun 15, 2012 at 4:36 PM, Adam Klein <adamk@chromium.org> wrote:
>
> On Fri, Jun 15, 2012 at 4:35 PM, Adam Klein <adamk@google.com> wrote:
>
>> This code alerts in Firefox but not in Chrome:
>>
>> <!DOCTYPE html>
>> <body>
>> <script>
>> var observer = new MutationObserver(function(r) {
>> alert(r);
>> });
>> observer.observe(document.body, {childList: true, subtree: true});
>> </script>
>> <p>Hello, World</p>
>> </body>
>>
>> In WebKit's implementation, we had assumed that MutationObservers were
>> meant to observe changes after page load (and I personally thought that
>> we'd specced it that way, by putting it in DOM4, not HTML). But it seems
>> the Mozilla implementors made a different assumption. But what should
>> happen?
>>
>> IMHO, it may not be worth the gain may not be worth the possible
>> performance degradation. If script wants to find out what the parser put on
>> the page, it should wait for DOMContentLoaded. But I can imagine a use case
>> where script might want to find out about the parser's work during load.
>>
>
If script authors want to ignore DOM mutations made by the parser, then
they can wait until DOMContentLoaded (or even load) fires to attach
mutation observers.
- Ryosuke