2013-12-04 3 views
0

У меня есть следующий код jQuery, который перенаправляет загрузку файла через определенное количество секунд. В то время я показываю значок ожидания. Как только загрузка файла началась с перенаправления на новый URL-адрес, я хочу также иметь возможность запускать функцию с именем unloadFrame(). Проблема в том, что, поскольку страница меняется, я не могу запустить функцию unloadFrame.Загрузите файл запуска JQuery, затем запустите функцию

Любые идеи, как я могу это достичь?

$(document).ready(function() { 
    window.setTimeout(function() { 
     location.href = "export.xls"; 
     unloadFrame();  
    }, 5000) 
}); 

Спасибо.

UPDATE

OK я сделал следующее, который, кажется, работает. есть ли у кого-нибудь другие идеи или лучшие варианты:

+0

Вы действительно пытались запустить unloadFrame после location.href? альтернативой является загрузка файла через скрытый iframe. –

+0

Вы всегда можете использовать (скрытый) iframe для загрузки файла и одновременно делать вещи в главном окне. –

+0

Я попробовал unloadFrame после перенаправления. Я обновил код, чтобы показать, как я его попробовал. Кажется, что он запускает функцию unloadFrame, но поскольку моя загрузка файла имеет небольшую задержку и не запускается сразу, она заканчивается тем, что игнорирует ее. –

ответ

0

Вы не можете скачивать файлы с подобным кодом JavaScript. Возможно, создайте iframe, установите URL-адрес для чего-то, что возвращает страницу загрузки (с соответствующими заголовками HTTP), а затем сделайте свой unloadFrame.

+0

Вы можете скачать такой файл, вы просто не можете перемещаться по странице и ожидать, что сможете все делать с ним –

+0

Да, спасибо за разъяснение, что, поскольку страница загрузки заменит текущий. – Poetro

Смежные вопросы