在一次要处理数百个网址时非常有用。下面是我用的代码:

waitSec= function(sec)--在wb:go(url)后调用本函数,在一定场合取代wb:wait(),如指定sec秒网页未下载完成就不再等待
    web.loadProc = function(url,hwnd)--web窗体回调函数 - 下载完成回调函数,url当前网址,hwnd当前窗体句柄
           _wait = nil;--页面下载完成,_wait的值为nil
    end;

    _wait = os.tick();--当前系统毫秒数(1秒=1000毫秒)
    while( nStop() and _wait ) do--未按停止且网页未下载完成则一直循环
        if ( (os.tick() - _wait) >1000*sec ) then--如果指定(sec)秒网页未下载完成,则跳出循环,不再等待
               _wait  = nil;
            break;
        end;
        delay(80);
    end;
end;

--用法示例:
wb=web.new(" http://www.yhhe.net")
wb:show(true);
waitSec(30);--无论网页是否下载完成,最多等待30秒

你可能感兴趣的:(在一次要处理数百个网址时非常有用。下面是我用的代码:)