Единственное, что приходит на ум, - это не сразу отправить файл обратно пользователю, а вывести скелет HTML, который 1. выполняет Javascript и 2. когда это делается, перенаправляет в файл загрузки (возможно, с дополнительный редирект, чтобы убедиться, что он работает). Кроме этого, я не думаю, что у вас будет много шансов выполнить Javascript вместе с доставкой файла downlad.