Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.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需要在xml对象中加载和转换_Javascript_Jquery_Xml_String - Fatal编程技术网

大型javascript需要在xml对象中加载和转换

大型javascript需要在xml对象中加载和转换,javascript,jquery,xml,string,Javascript,Jquery,Xml,String,我有一个js脚本,它只有一个变量,但该变量包含一个20MB的字符串。我需要加载该脚本,以便将该字符串转换为XML对象,以便在网站上模拟脱机搜索 我需要关于如何实现这一点的想法。 首先,我可能必须等待js脚本加载。我不知道怎么做,我尝试了jQuery,但没有成功。选项1: 将20 MB的内存分成1 MB(甚至512 KB)的数据块 列举这些块——即给它们编号1、2、3——以确定它们的顺序 然后在并行ajax请求中加载它们——可能是3-4个并行请求(或者更多?) 一旦所有内容都下载到浏览器上——加

我有一个js脚本,它只有一个变量,但该变量包含一个20MB的字符串。我需要加载该脚本,以便将该字符串转换为XML对象,以便在网站上模拟脱机搜索

我需要关于如何实现这一点的想法。 首先,我可能必须等待js脚本加载。我不知道怎么做,我尝试了jQuery,但没有成功。

选项1:

  • 将20 MB的内存分成1 MB(甚至512 KB)的数据块
  • 列举这些块——即给它们编号1、2、3——以确定它们的顺序
  • 然后在并行ajax请求中加载它们——可能是3-4个并行请求(或者更多?)
  • 一旦所有内容都下载到浏览器上——加入他们——就可以准备好20MB的文本了
备选案文2:

使用flash——你可以用它做得更好(如果我没有错的话),它还会告诉你加载状态

备选案文3:


在HTML5浏览器中,您可以使用WebSocket。而在较老的客户端中,保持20MB的字符串是不好的方法。这可能会导致浏览器崩溃/无响应我有一个数据库,我将其转换为xml,但由于我无法在本地读取xml文件,因此需要将其保存为字符串,以便我可以将其转换为xml对象,以便对其执行搜索。我知道这是个糟糕的方法,很可怕,但现在我看不到更好的解决方案。我以前做过这个,但是我有更小的字符串,小得多。而且效果很好。但现在…不能使用flash,不能使用Html5,因为它必须在所有浏览器上工作。我可能会试试你的选择1。谢谢你,格林吉特