编辑代码

var maxTryTimes=10;var currentTimes=0;
function craw() {
    if(isNeedLogin()){
        currentTimes=0;
        window.webkit.messageHandlers.login.postMessage("login");
        return;
    }
    if(isEmptyPage()){
        if(currentTimes > maxTryTimes){
            currentTimes = 0;
            var items=[];
            var info={};
            items.push(info);
            var empty_json=JSON.stringify(info);
            window.webkit.messageHandlers.empty.postMessage(empty_json);
            return;
        }else{
            currentTimes++;
        }
    }
    var favListDiv = document.getElementById("favlist");
    var items=[];
    if(favListDiv){
        var itemsDiv = favListDiv.getElementsByClassName("fav_item");
        for(var i=0;i < itemsDiv.length;i++) {
            var item={};
            var itemDiv = itemsDiv[i];
            if(itemDiv.is_dealled != 1){
                item = parseItem(itemDiv.innerHTML);
                if(item["sku"]){
                    items.push(item);
                }
                itemDiv.is_dealled=1;
            }
        }
        if(items.length > 0){
            currentTimes=0;
        }
        var data_json=JSON.stringify(items);
        window.webkit.messageHandlers.data.postMessage(data_json);
    }
}

function parseItem(itemHtml){
    var item={};
    var itemIdRegex = new RegExp("sku=\"(\\d+)\"", "i");
    if(itemIdRegex.test(itemHtml)){
        item["sku"]=itemIdRegex.exec(itemHtml)[1];
    }
    var titleReg = new RegExp("class=\"name\">(.*?)</p>", "i");
    if(titleReg.test(itemHtml)) {
        item["title"] = titleReg.exec(itemHtml)[1];
    }
    var imgReg = new RegExp("<img.*?src=\"(.*?)\"", "i");
    if(imgReg.test(itemHtml)) {
        item["image_url"]="https:"+imgReg.exec(itemHtml)[1];
    }
    var priceReg = new RegExp("jp=(.*?)\"", "i");
    if(priceReg.test(itemHtml)) {
        item["price"]=priceReg.exec(itemHtml)[1];
    }
    return item;
}

function isNeedLogin(){
    var login = document.getElementsByClassName("quick-login");
    return (login.length>0?true:false);
}

function isEmptyPage(){
    var empty = document.getElementById("fav_total_num");
    if(empty && empty.innerText == '0'){
        return true;
    }
    empty = document.getElementById("commlist_nothing");
    return (empty?true:false);
}

function crawNext(){
    window.scrollTo(0, document.documentElement.scrollHeight);
}