diff --git a/src/js/contentscript-end.js b/src/js/contentscript-end.js index 351160070..f26b11afe 100644 --- a/src/js/contentscript-end.js +++ b/src/js/contentscript-end.js @@ -418,13 +418,18 @@ var messager = vAPI.messaging.channel('contentscript-end.js'); } if (!window.MutationObserver) { - // DOMSubtreeModified? - if (!window.WebKitMutationObserver) { - return; - } + window.MutationObserver = window.WebKitMutationObserver || window.MozMutationObserver; - // Safari - window.MutationObserver = window.WebKitMutationObserver; + // dummy shim for older browsers + if (!window.MutationObserver) { + window.MutationObserver = function(handler) { + this.observe = function(target) { + target.addEventListener('DOMNodeInserted', function(e) { + handler([{addedNodes: [e.target]}]); + }, true); + }; + } + } } var ignoreTags = {