现在用winform通过加载html文档调用高德地图,在根据关键字查询时,会出现无响应的情况,这时候查询功能就不能使用了,查询一直会没响应,阻塞在那,有没有办法处理这种情况,比如超时之类的,不让它一直阻塞在那jshtml阻塞

解决方案 »

  1.   

    你用的是webbrowser?操作webbrowser里面的网页查找内容应该不会影响winform的UI吧。。还是你的查询功能是在winform内操作的?如果是启用另外一个线程来执行查询,要不发送http请求什么要等待的操作UI会假死没反应
      

  2.   

    是用的webbrowser,没有影响winform的UI,是根据关键字查询的时候没有返回查询结果(关键字没问题,而且关闭后,重开就正常了,应该是调用js时阻塞在那了),之后就一直没法查询出结果(按钮是可以响应的)
      

  3.   

    应该你的html页面有问题吧。。如第一次查询后去掉了查询按钮绑定的事件或者引用到了其他赋值变量的属性什么的导致出错没反应,自己检查下js代码
      

  4.   

    应该就是html的问题,关键是查询按钮是在winform里做的,调用html里的js,而且这种情况只是偶尔发生,我想有没有办法,即使发生了一次,不让它一直阻塞在那,也不让它影响后面的操作。
      

  5.   

    给html页面增加一个全局变量loading=false,表示是否正在获取数据,winform在调用js前设置loading=true,然后js执行成功后设置loading=false。winform启用一个timer定时检查这个js变量是否为false,如果超过5次或者多少次后说明js出问题了,停掉timer,重新刷新下webbrowser,重置js变量和DOM状态