The shazzer's 'all_browser_events' list is compared with the event handler set from within the window, document.body and document objects combined. Result is missing events within the shazzer's 'all_browser_events' list.
function listAllEventHandlers() {
const allHandlers = new Set();
const objects = [document.body, document, window];
objects.forEach(obj => {
for (const prop in obj) {
if (prop.startsWith('on')) {
allHandlers.add(prop);
}
}
});
return Array.from(allHandlers).sort();
}
allBodyHandlers = listAllEventHandlers();
console.log("window, document and document.body contain " + allBodyHandlers .length + " handlers")
const shazzerEvents = new Set();shazzerEvents.add('$[data1]');console.log("Shazzer 'all_browser_events' contains " + shazzerEvents.size + " events");
function missingHandlers() {
const out = new Set();
for(let handler of allBodyHandlers) {
if (!shazzerEvents.has(handler)) {
out.add(handler);
}
}
return out;
}
for(let handler of missingHandlers()){
log(handler);
}shazzerEvents.add('oncommand');