PHP-скрипт в IFRAME блокирует другой код

Сценарий:

У меня есть два PHP-сценария для одновременного вызова:

Первый скрипт будет работать несколько минут (загрузка файлов на основе PHP), в зависимости от размера загружаемого файла. Он помещен в поэтому он может работать отдельно и не блокировать браузер.Предполагается, что второй PHP-скрипт вызывается через равные промежутки времени для отслеживания выполнения первого скрипта - загрузки файла. Чтобы не открывать новые окна после завершения скрипта, он вызывается через AJAX.Проблема:

Я поместил долгосрочный скрипт PHP (скачать скрипт) в поэтому этот скрипт может работать асинхронно с другим PHP-скриптом мониторинга. Однако, несмотря на то, что основной сценарий находится вкогда веб-страница начинает выполнение, сценарий запускается и блокирует выполнение оставшегося кода JavaScript и сценария мониторинга, вызываемого несколько раз через AJAX.

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

Не могли бы вы быть так добры и проанализировать мои примеры кода, пожалуйста? Я понятия не имею, где моя проблема. Мой код настолько прост, что все должно работать хорошо.

Версия PHP 5.4.12Apache / 2.4.4 (Win64) PHP / 5.4.12Windows 7 x648 ГБ ОЗУGoogle Chrome версия 30.0.1599.101 мОбразцы кода:

Код JavaScript, вызывающий оба сценария PHP:




    Title of the document







    // call both PHP scripts(download and monitoring) in desired order
    callScripts = function()
    {
        // call the monitoring PHP script multiple times in 2 second intervals
        window.setTimeout(function(){startDownloadMonitoring()}, 1000);
        window.setTimeout(function(){startDownloadMonitoring()}, 3000);
        window.setTimeout(function(){startDownloadMonitoring()}, 5000);
        window.setTimeout(function(){startDownloadMonitoring()}, 7000);
        window.setTimeout(function(){startDownloadMonitoring()}, 9000);
    };


    // call monitoring PHP script via AJAX
    function startDownloadMonitoring()
    {
        console.log("Calling startDownloadMonitoring()...");

        var xmlhttp;

        if (window.XMLHttpRequest)
        {// code for IE7+, Firefox, Chrome, Opera, Safari
            xmlhttp=new XMLHttpRequest();
        }
        else
        {// code for IE6, IE5
            xmlhttp=new ActiveXObject("Microsoft.XMLHTTP");
        }

        xmlhttp.onreadystatechange = function()
        {
            if (xmlhttp.readyState==4 && xmlhttp.status==200)
            {
                console.log("Response Received: " + xmlhttp.responseText);
            }
        }
        xmlhttp.open("GET", "PHP/fileDownloadStatus.php", true);
        xmlhttp.send();
    }






Скрипт мониторинга PHP (fileDownloadStatus.php)


Долгосрочный скрипт PHP (fileDownload.php)

Ответы на вопрос(1)

Ваш ответ на вопрос