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(items);
window.webkit.messageHandlers.empty.postMessage(empty_json);
return;
}else{
currentTimes++;
}
}
var items = getDatas();
if(items) {
currentTimes = 0;
window.webkit.messageHandlers.data.postMessage(items);
}
}
function getDatas(){
for (var tbc_data = [], index = 1, div_items = document.getElementsByTagName("div"), i = 0; i < div_items.length; i++) {
var div_item = div_items[i],item_id = div_item.id,regx = new RegExp("^group_", "i");
if (regx.test(item_id)) {
var item = div_item.$$instance;
for (var k in item) if ("props" == k) {
var item_child = item.props.children, child_array = [];
if (item_child) {
if (Array.isArray(item_child)) for (var m = 0; m < item_child.length; m++) child_array.push(item_child[m].props.data.fields);
else child_array.push(item.props.children.props.data.fields);
for (var n = 0; n < child_array.length; n++) {
var sub_data = {},
single_item = child_array[n];
if (!single_item.tbdone) for (var j in single_item)"itemId" == j && (sub_data.sku = single_item[j]),
"title" == j && (sub_data.title = single_item[j]),
"pic" == j && (sub_data.pic = single_item[j]),
"pay" == j && (sub_data.price = single_item[j].afterPromPrice),
"sku" == j && (sub_data.sku_id = single_item[j].skuId),
"cartId" == j && (sub_data.cart_id = single_item[j]),
"quantity" == j && (sub_data.quantity = single_item[j]);
sub_data.hasOwnProperty("sku") && (sub_data.index = index, tbc_data.push(sub_data), single_item.tbdone = 1),
index += 1
}
}
}
}
}
var tbc_data_json = JSON.stringify(tbc_data)
return tbc_data_json;
}
function isNeedLogin(){
var login = document.getElementsByTagName("iframe")[0];
if(login && login.hasAttribute("src")){
var src = login.getAttribute("src");
if(src.search("login.m.taobao.com")) {
return true;
}
}
if(document.getElementById("login")){
return true;
}
return false;
}
function isEmptyPage(){
var empty = document.getElementsByClassName("search-empty");
return (empty.length>0?true:false);
}
function crawNext(){
window.scrollTo(0, document.documentElement.scrollHeight);
}