Есть ли способ перейти по URL-адресу в JavaScript без настройки document.location.href?
У меня есть страница, на которой отображается список объектов, и с каждым объектом может быть связана загрузка файла, доступ к которому осуществляется через гиперссылку. Щелчок по ссылке инициирует запрос AJAX, который в конечном итоге приводит к созданию временного файла, на который можно ссылаться по уникальному и временному URL-адресу.
В момент завершения вызова AJAX он просто устанавливает для document.location.href временный URL-адрес, и начинается загрузка файла. Конечно, это имеет побочный эффект изменения URL-адреса в адресной строке браузера, поэтому, если страница обновляется, файл загружается снова, а не обновляется сама страница со списком объектов. Думаю, я мог бы вернуть URL-адрес обратно к тому, что было раньше, но это кажется немного взломанным.
Между прочим, я использую фреймворк Prototype JavaScript.



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


вы могли бы открыть новое окно с новым URL-адресом? или попробуйте установить URL-адрес iframe на новый URL-адрес, оба должны представлять загрузку файла (последний вариант является лучшим)
На самом деле я пробовал этот подход в прошлом, и, к сожалению, вы получаете неприятную вспышку, когда появляется всплывающее окно. Похоже, что iframe - лучший вариант.
Вы можете использовать скрытый iframe - установите src для файла для загрузки.
Если вы делаете все это только для запуска загрузки файла, это звучит как хорошее приложение для использования скрытого iframe. Вместо этого установите SRC iframe, чтобы вам не пришлось возиться с главной страницей.
Создание нового окна и загрузка этого URL-адреса в это окно - хорошая идея. Я почти уверен, что большинство браузеров автоматически закроют всплывающее окно, как только поймут, что это не HTML-файл.