Как бороться с приложением, которое всегда не отвечает? - PullRequest
1 голос
/ 17 августа 2011

Мое приложение разработано с использованием фреймворка django и jQuery. После запуска приложения какое-то время оно всегда не отвечает или «Ой, Snap!» в Chrome в неожиданное время.

Проблема, о которой я подумал в первую очередь, - запуск javascript каждые 2 секунды с загрузкой некоторых значений У меня есть несколько страниц, которые запускают подобные сценарии. Сценарии таковы:

$(document).ready(function(){
    $(window).load(function loadMap(){
        var mappos = $("#mappos").val();
        var pcode = $("#pcode").val();
        var width = $("#width").val();
        var loss = $("#loss").val();
        var lossarr = $("#lossarr").val();
        var spcode = $("#spcode").val();
        var swidth = $("#swidth").val();
        var cpcode = $('#minclamp', top.document).contents().find('#cpcode').val();
        var cwidth = $('#minclamp', top.document).contents().find('#cwidth').val();
        var lane = $('#minclamp', top.document).contents().find('#lane').val();
        var position = $('#minclamp', top.document).contents().find('#position').val();
        var atlane = $('#minclamp', top.document).contents().find('#atlane').val();
        var atposition = $('#minclamp', top.document).contents().find('#atposition').val();
        var clamping = $("#clamping").val();
        var changed = $("#changed").val();
        var realtag = $('#minclamp', top.document).contents().find('#realtag').val()
        $("#inventory").load(inventory_url+"?pcode="+pcode+"&width="+width+"&loss="+loss+"&lossarr="+lossarr+"&spcode="+spcode+"&swidth="+swidth+"&cpcode="+cpcode+"&cwidth="+cwidth+"&lane="+lane+"&position="+position+"&atlane="+atlane+"&atposition="+atposition+"&clamping="+clamping+"&changed="+changed+"&realtag="+realtag+"&mappos="+mappos);
        }

        setTimeout(loadMap, 2000);
    });
});

Если я прав, есть ли другие коды, которые делают то же самое, но не приводят к тому, что событие не отвечает, как это. Или есть способ улучшить это?

Если возникнут другие вопросы, пожалуйста, предложите мне. Спасибо.

Ответы [ 2 ]

0 голосов
/ 17 августа 2011

Попытайтесь поместить settimeout в функцию loadMap ... после завершения всей работы ... и используйте функцию $ (документ) .ready функция

$(document).ready(function ()
{
    var loadMap = function()
    {
        var mappos = $("#mappos").val();
        var pcode = $("#pcode").val();
        var width = $("#width").val();
        var loss = $("#loss").val();
        var lossarr = $("#lossarr").val();
        var spcode = $("#spcode").val();
        var swidth = $("#swidth").val();
        var cpcode = $('#minclamp', top.document).contents().find('#cpcode').val();
        var cwidth = $('#minclamp', top.document).contents().find('#cwidth').val();
        var lane = $('#minclamp', top.document).contents().find('#lane').val();
        var position = $('#minclamp', top.document).contents().find('#position').val();
        var atlane = $('#minclamp', top.document).contents().find('#atlane').val();
        var atposition = $('#minclamp',  top.document).contents().find('#atposition').val();
        var clamping = $("#clamping").val();
        var changed = $("#changed").val();
        var realtag = $('#minclamp', top.document).contents().find('#realtag').val()
        $("#inventory").load(inventory_url+"?pcode="+pcode+"&width="+width+"&loss="+loss+"&lossarr="+lossarr+"&spcode="+spcode+"&swidth="+swidth+"&cpcode="+cpcode+"&cwidth="+cwidth+"&lane="+lane+"&position="+position+"&atlane="+atlane+"&atposition="+atposition+"&clamping="+clamping+"&changed="+changed+"&realtag="+realtag+"&mappos="+mappos, function()
        {
           // set the timer here in the completeCallback of your 'load' function.
             setTimeout(function()                  
             {
                loadMap();
             }, 2000);
        }));           
    }; 
    loadMap();// call the first load map;
});
0 голосов
/ 17 августа 2011

Вы пробовали использовать отдельные темы?

РЕДАКТИРОВАТЬ: если вы знаете, что ищете: http://www.websiteoptimization.com/speed/10/ Очень приятно

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...