После установки window.location исходная страница будет выгружена до загрузки новой страницы браузером.Это означает, что ваш скрипт пропадет до начала загрузки новой страницы и, следовательно, больше не сможет изменять новый HTML.
Такое поведение присуще модели безопасности браузера.Без него вы могли бы внедрить любой JavaScript в любой веб-сайт по вашему выбору, что было бы огромной угрозой безопасности.То, что вы просите, это так называемый XSS (для межсайтового скриптинга), который не позволяет браузеру применять так называемую SOP (для той же оригинальной политики).
Есть несколько распространенных способов работыОбойти это ограничение безопасным способом:
Настройте прокси-сервер для обслуживания как вашего JavaScript, так и исходного сайта.Таким образом, и ваш сценарий, и исходный сайт поступают из одного домена и соответствуют политике оригинального браузера (SOP).Вы можете запустить оригинальный сайт в iframe с вашим пользовательским скриптом, занимающим окно верхнего уровня.В качестве альтернативы вы можете внедрить ваш скрипт в HTML при его получении через прокси.
Запустите ваш скрипт как надстройку браузера или пользовательский скрипт.Если вы решите сделать это, пользователь должен будет специально предоставить вашему сценарию права на локальный запуск с повышенными правами.Greasemonkey популяризировал клиентские скрипты для Firefox несколько лет назад, но в последнее время они, похоже, утратили силу.
Попросите владельца сайта включить ваш скрипт.Я сомневаюсь, что это правильный вариант для вашей ситуации.Но если это верный вариант, он, безусловно, самый простой.
Попросите пользователя запустить ваш скрипт после загрузки сайта.Это, вероятно, также недопустимо для вас, но если оно действительно, оно снова будет очень простым решением.