window.bus = {}; window.bus.handlers = {}; window.bus.on = function (e, fn) { if (!window.bus.handlers[e]) window.bus.handlers[e] = []; window.bus.handlers[e].push(fn); }; window.bus.emit = function (e, data) { (window.bus.handlers[e] || []).forEach(function (fn) { try { fn(data); } catch (err) {} }); }; window.bus.off = function () { window.bus.handlers = {}; };