overriding default Window functions
https://stackoverflow.com/questions/45168610/having-trouble-overriding-the-native-windows-addeventlistener
by Vivek Athalye
HTML
<button id="btn">
Open new window
</button>
JavaScript
window.open = function (open) {
return function (url, name, opts) {
var windowObj = open.call(window, url, name, opts);
windowObj.addEventListener = function(ael) {
return function (eventName, callback, useCapture) {
alert(1); // some wrapper code
ael(eventName, callback, useCapture); // call native window's addEventListener
};
}(windowObj.addEventListener);
return windowObj;
};
}(window.open);
var b = document.getElementById("btn");
b.addEventListener("click", function() {
var myWindow = window.open("about:blank", "childWin", "");
myWindow.addEventListener("click", function(){
alert(2);
});
});