Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/87.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 如何在Worker中预加载图像?_Javascript_Html_Multithreading_Worker - Fatal编程技术网

Javascript 如何在Worker中预加载图像?

Javascript 如何在Worker中预加载图像?,javascript,html,multithreading,worker,Javascript,Html,Multithreading,Worker,我尝试在worker中预加载图像: var img = new Image(); 这将得到一个错误:未捕获引用错误:未定义图像 是否有其他方法在worker中预加载图像?XMLHttpRequest是什么?你能做到吗 如果是这样,当我在worker中使用XMLHttpRequest预加载图像时,我的主ui线程会缓存该图像吗 我应该在我的主ui线程中使用Image或XMLHttpRequest吗?对于Web Workers,您无法以与在页面上下文中运行JavaScript相同的方式访问DOM。网

我尝试在worker中预加载图像:

var img = new Image();
这将得到一个错误:未捕获引用错误:未定义图像

是否有其他方法在worker中预加载图像?XMLHttpRequest是什么?你能做到吗

如果是这样,当我在worker中使用XMLHttpRequest预加载图像时,我的主ui线程会缓存该图像吗


我应该在我的主ui线程中使用Image或XMLHttpRequest吗?

对于Web Workers,您无法以与在页面上下文中运行JavaScript相同的方式访问DOM。网络工作者在他们自己的上下文中运行,但这并不意味着你不能预加载图像,你只需要用另一种方式。例如:

var x = new XMLHttpRequest();
x.responseType = 'blob';
x.onload = function () {
    //Do something
}
x.open('GET', url, true);
x.send();