开发者

How to avoid stop script error in browsers

I have a page of more than 2500 anchor tag to process. Now in IE it is throwing the stop script error. Is it possible to do as a batch? Taking 500 executing it and then take the another 500 executing it??

This is the code...

ajaxLinks : function(el, flag) {
    var links = $(el).find('a');
    var notLinkAr=["a[href^=javascript]","#toolbarId ul li>a","#tool_settings .link a",".page-action-links li>a","#tool_settings .label a",".success-map .success-tabs li>a",".success-map .sm_loggedin li>a", ".analyst_cat li>a",".modal",".layer",".newpage",".close",".hideFromPopup",".pagenum",".next",".prev",".delete_src",".tips","#hidr","#backr"];
    $(notLinkAr).each(function(index){
        var notLinkI=$(notLinkAr[index]);
        if($(notLinkI).is("a")){
            if($(notLinkI).length>0){
                $(notLinkI).each(function(index1){
                        $(notLinkI[index1]).addClass("dontAjaxify");
                });
            }
        }
    });
     $(links).each(function(i, obj){
        var link = $(obj);
        if(!$(obj).hasClass('dontA开发者_如何转开发jaxify')){
           link.attr('rel', link.attr('href'));
            var rellnk = link.attr('rel');
            if(flag=='ajaxified') {
                if(/http/.test(rellnk)){
                    var relurl;
                    relurl=rellnk.replace((window.location.protocol + "//"+ window.location.hostname),'')
                    link.attr('rel', relurl);;
                }
            }
            link.bind('click', function(e){}

Iam adding a class for all the anchor tag(which is 2500) in a page.


jQuery's .slice may help you. http://api.jquery.com/slice/

var count = 0;
var ajaxify = function (el, flags) {
    var links = $(el).find('a').slice(count, count + 500);
    count = count + 500;

    // Do the processing here

    if (links.length) {
       // Call it next time only if some data is returned in the current call
       setTimeout("ajaxify()", 5000);
    }
}

The above code is not tested, but should probably work.

0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜