diff --git a/lib/web_console/templates/console.js.erb b/lib/web_console/templates/console.js.erb index b9bb283e..604a36ec 100644 --- a/lib/web_console/templates/console.js.erb +++ b/lib/web_console/templates/console.js.erb @@ -418,6 +418,14 @@ REPLConsole.prototype.install = function(container) { } } + var observer = new MutationObserver(function(mutationsList) { + for (let mutation of mutationsList) { + if (mutation.type === 'childList' && mutation.addedNodes.length > 0) { + shiftConsoleActions(); + } + } + }); + // Initialize this.container = container; this.outer = consoleOuter; @@ -429,7 +437,7 @@ REPLConsole.prototype.install = function(container) { findChild(container, 'resizer').addEventListener('mousedown', resizeContainer); findChild(consoleActions, 'close-button').addEventListener('click', closeContainer); - consoleOuter.addEventListener('DOMNodeInserted', shiftConsoleActions); + observer.observe(consoleOuter, { childList: true, subtree: true }); REPLConsole.currentSession = this; };