Skip to content

Instantly share code, notes, and snippets.

@kmuenkel
Last active February 24, 2020 17:32
Show Gist options
  • Save kmuenkel/c5d6fabaccc4db275cddf0bf13ee53b4 to your computer and use it in GitHub Desktop.
Save kmuenkel/c5d6fabaccc4db275cddf0bf13ee53b4 to your computer and use it in GitHub Desktop.
// var objectIsDomElement = function (object) {
// return typeof HTMLElement === "object" ? object instanceof HTMLElement :
// typeof object === "object" && object.nodeType === 1 && typeof object.nodeName === "string";
// };
//
// var getAllDomObjects = function() {
// var objs = [];
// var walkTheObject = function (obj) {
// Object.keys(obj).forEach(function (key) {
// var value = objs[key];
// if (value && objectIsDomElement(value)) {
// if (objs.indexOf(value) < 0) {
// objs.push(value);
// walkTheObject(value);
// }
// }
// });
// };
// walkTheObject(this);
// return objs;
// };
//
// var makeDocument = function () {
// var nodes = getAllDomObjects();
// var doc = new Document;
// nodes.forEach(function (node) {
// doc.append(node);
// });
// return doc;
// };
var elementChange = function(query) {
window.MutationObserver = window.MutationObserver || window.WebKitMutationObserver || window.MozMutationObserver;
var observers = [];
var observer = function (query) {
observers.forEach(function (observer) {
observer.disconnect();
});
// var dummyDoc = makeDocument();
var dummyDoc = document;
var elements = dummyDoc.querySelectorAll(query);
elements.forEach(function (element) {
var observer = new MutationObserver(function (mutation) {
console.log(mutation);
console.trace();
});
observer.observe(element, {attributes: true});
observers.push(observer);
});
};
observer();
setInterval(observer, 50, query);
};
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment