События onblur
и onfocus
на самом деле не приходят из документа внутри вашего iframe. Они приходят из окна объекта iframe, говоря, что iframe теряет или получает фокус. Как вы заметили, невозможно получить входное значение с их страницы в iframe без использования CORS каким-либо образом.
Обычно действительно плохая идея пытаться обойти защиту измерения. Подумайте о том, что вы просите. Замените фразу «значение ввода» на «номер кредитной карты незнакомца». Это то, о чем вы просите в Интернете.
Разработчики разных доменов обходят эти меры безопасности, сотрудничая друг с другом. Вот что такое CORS. Он по-прежнему не допускает прямого JS перехвата доменов, но позволяет двум сторонам сказать «мы доверяем друг другу» достаточно, чтобы разделить ресурсы друг друга. Затем вы можете научиться взаимодействовать друг с другом, например, получать данные с серверов друг друга, которые отслеживают события.
Вместо того, чтобы пытаться захватить другой сайт, рассмотрите другие способы решения данной проблемы. Менеджеры паролей, например, работают на уровне расширения браузера, а не на уровне страницы, и имеют другую изолированную программную среду. Но продолжайте думать, что вы пытаетесь открыть ящик Пандоры для кого-то другого.