iframe устанавливает цикл src только после загрузки одной страницы - PullRequest
0 голосов
/ 26 июня 2018

Я открываю несколько страниц в iframe (по одной), т.е. я хочу сделать это синхронно.Так что в цикле for я хочу установить для свойства iframe src значение url1, а после загрузки этой страницы перейти на url2 и т. Д.

<iframe id="iframeExportPDF" onload="test();"></iframe>

$('#<%=Button1.ClientID%>').click(function (e) {
        e.preventDefault();

        var registrarIds = ($('#<%=lblRegistrarIdsForChart.ClientID%>').text()).split(',');

        for (var i = 0; i < registrarIds.length; i++) {
            var link = window.location.href;
            var urlBase = link.substring(0, link.lastIndexOf("/") + 1);
            //alert(registrarIds[i].toString());
            ganttPopup(urlBase + 'GPS/CompetencyAssessment/GanttChart.aspx?id=' + registrarIds[i].toString(), registrarIds[i]);
            sleep(25000);
        }
    });

    function ganttPopup(url, id) {
    iframeExportPDF.src = url;
    //window.open(url, "_blank", "ganttChartPopup_" + id.toString(), "width=1100,height=600,scrollbars=yes,resizable=yes");
}

PS Раньше я делал то же самое, открывая несколько окон, но так каку меня 1100 записей, window.open было бы невозможно.

1 Ответ

0 голосов
/ 26 июня 2018

Я нашел свой ответ здесь

var urls = [], iCount;

$(function () {
    $('#<%=Button1.ClientID%>').click(function (e) {
        e.preventDefault();

        var registrarIds = ($('#<%=lblRegistrarIdsForChart.ClientID%>').text()).split(',');
        iCount = registrarIds.length;

        for (var i = 0; i < registrarIds.length; i++) {
            var link = window.location.href;
            var urlBase = link.substring(0, link.lastIndexOf("/") + 1);
            var url = urlBase + 'GPS/CompetencyAssessment/GanttChart.aspx?id=' + registrarIds[i].toString();
            urls.push(url);
        }



        redirect_url();
   });

  function redirect_url() {
        if (iCount >= 0) {
            setTimeout(function () {
                $('#iframeExportPDF').attr('src', urls[iCount]);
                iCount--;
                redirect_url();
            }, 15000);
        }
    }
});
...