Есть ли способ определить, вызвана ли данная функция в результате собственного события браузера?
В современных браузерах, если вы вызываете функцию window.open(...)
из цепочки областей, созданной с помощью обработчика кликов, страница будет открыта без проблем.
Однако, если вы попытаетесь вызвать его напрямую, браузер будет генерировать всплывающее предупреждение.
Таким образом, браузер отслеживает контекст выполнения и как-то флагами, поэтому первое использование функции выполняется успешно. Без наличия этого флага он блокирует второе использование.
Есть ли способ получить доступ к этому флагу, чтобы внутренне блокировать выполнение определенных функций, если они вызываются напрямую, в отличие от реального собственного события браузера.
Я просмотрел объект события, получаемый моими функциями, но не могу обнаружить ничего, что отличает реальное собственное событие, и событие, созданное при запуске события вручную.
Я действительно хочу, чтобы я мог?