Вы можете установить window.open
как неконфигурируемое и недоступное для записи, выполнив
Object.defineProperty( window, "open",
{ writable: false,
configurable: false
}
);
перед загрузкой или выполнением других скриптов.
Затем Chrome сообщает о попытке установить window.open
до true
как
Uncaught TypeError: Cannot assign to read only property 'open' of object '#<Window>'
вместе с деталями того, где была предпринята попытка.Firefox ведет себя аналогично с сообщением об ошибке
TypeError: "open" is read-only
Обратите внимание, что
MDN-описание изменения существующих свойств , на 1 июня2018 гласит, что попытка записи в недоступное для записи свойство "также не вызывает ошибку".Похоже, что это неправильно и не соответствует комментарию примера кода.