Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/86.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Android上的JQuery.Hive(工作线程)_Javascript_Jquery_Android_Worker - Fatal编程技术网

Javascript Android上的JQuery.Hive(工作线程)

Javascript Android上的JQuery.Hive(工作线程),javascript,jquery,android,worker,Javascript,Jquery,Android,Worker,我目前正在编写一个应用程序,显示我们大学自助餐厅的菜单计划。 为了使其独立于平台,我使用Phonegap;XML解析是在JQuery的帮助下完成的,布局是用JQuery Mobile生成的 在我的motorola defy上,解析菜单的XML文件大约需要1-2秒。例如,如果您通过单击单选按钮将位置更改为另一个自助餐厅,GUI将冻结这一秒。我在JavaScript中找到了工作线程的概念,并决定将XML数据的解析委托给工作线程。不幸的是,我不得不发现JQuery在工作线程中不起作用:-(然后我找到了

我目前正在编写一个应用程序,显示我们大学自助餐厅的菜单计划。 为了使其独立于平台,我使用Phonegap;XML解析是在JQuery的帮助下完成的,布局是用JQuery Mobile生成的

在我的motorola defy上,解析菜单的XML文件大约需要1-2秒。例如,如果您通过单击单选按钮将位置更改为另一个自助餐厅,GUI将冻结这一秒。我在JavaScript中找到了工作线程的概念,并决定将XML数据的解析委托给工作线程。不幸的是,我不得不发现JQuery在工作线程中不起作用:-(然后我找到了插件JQuery.hive,它似乎解决了我的问题。我现在在hive环境中创建线程,发送消息,在工作线程中处理它,并收到一个答案。 不幸的是,这只适用于Firefox,而不适用于我的Android/Phonegap应用程序

这是我生成Worker的地方:

$(function() {

$("#mydiv").append("Start |");

$.Hive.create({
    worker : 'Worker_Parser.js',
    receive : function(data) {

    $("#mydiv").append('RECEIVED MESSAGE: ' + data.message + ' | ');
            }           
        });
$("#mydiv").append("Worker generated | ");
    });

$.Hive.get(0).send("test");

$("#mydiv").append("End ");
这是工作线程:

importScripts('jquery.hive.pollen.js');

$(function (data) {
       $.send("test");
     });
Firefox显示

Start | Worker generated | End | RECEIVED MESSAGE: test | 
Android Broswer在尝试启动线程时取消脚本,并仅显示:

Start |
JQuery.hive应该在Android下运行吗? 有没有更好的方法来解决我在不冻结GUI的情况下解析XML的问题

提前感谢,

Tom

,您将看到当前的Android浏览器和iOS都不支持Web Workers

您是否可以在XML文件中进一步分解数据,并根据用户交互将其分为小块发送,而不是一次发送整个菜单?也许可以将菜单请求缩小到当前日期,并在其他日期发出AJAX请求?

,您会看到当前Android浏览器和iOS


您是否可以在XML文件中进一步分解数据,并根据用户交互将其分成小块发送,而不是一次发送整个菜单?也许只将菜单请求缩减到当前日期,而将AJAX请求推迟到其他日期?

hm,一点提示也没有?也许我将问题从特例缩小到了最后一天摘要:在执行操作(此处:解析XML)时,如何防止单选按钮(以及整个GUI)冻结需要几秒钟?与此同时,我对工作线程做了一些实验,发现即使在工作线程中生成一个新的DOMparser对象也是不可能的。显示一个小镜子是唯一的解决方案吗?!嗯,一点提示都没有?也许我把问题从特例缩小到了抽象:我能做些什么来防止无线电b当操作(这里:解析XML)需要几秒钟时,按钮(以及整个GUI)就不会冻结?与此同时,我对工作线程进行了一些实验,发现即使在工作线程中生成一个新的DOMparser对象也是不可能的。显示一个小时窗是唯一的解决方案吗?!?