jjzjj

javascript - 识别 Service Worker 缓存中的陈旧缓存条目

我希望我的ServiceWorker在某些情况下表现得像浏览器缓存一样。这意味着当响应缓存命中时,我首先需要确保资源没有过期。例如,我可以这样做:constcacheControl=response.headers.get('cache-control');constdate=newDate(response.headers.get('date'));constage=parseInt(response.headers.get('age')||'0',10);constmaxAge=getMaxAge(cacheControl);constexpiration=date.getTime

Javascript Web Workers 文件上传

我正在尝试使用HTML5和WebWorkers为非常大的文件制作一个htmluploader。自动柜员机它上传缓慢但消耗大量内存。我认为它在将整个文件添加到表单时将其传输到内存中。继承人的代码:jswebworker.js:/*importScripts('webworkerFormData.js');*/(function(){//Exportvariabletotheglobalscope(this==undefined?self:this)['FormData']=FormData;var___send$rw=XMLHttpRequest.prototype.send;XMLHt

javascript - 如何通过 Web-Workers 传递自定义类实例?

由于Web-WorkerJSON在线程之间序列化数据,所以这样的事情不起作用:worker.jsfunctionAnimal(){}Animal.prototype.foobar=function(){}self.onmessage=function(e){self.postMessage({animal:newAnimal()})}main.jsletworker=newWorker('worker.js')worker.onmessage=function(e){console.log(e.data)}worker.postMessage('go!')结果将是一个简单的对象,但丢失

Javascript webworker 不会通过 XMLHttpRequest 加载 XML 文件

我正在努力让网络worker从我主页一侧的同一域加载XML文件,我们将不胜感激。functionreadXML(){varxhr=newXMLHttpRequest();//OnlyforFFxhr.open("GET","../db/pointer.xml",true);xhr.send(null);xhr.onreadystatechange=function(e){if(xhr.status==200&&xhr.readyState==4){//PostbackinfotomainpagepostMessage(xhr.responseXML.getElementsByTagNa

javascript - 无法从 Chrome 中的 webworker 内部创建 Web Worker

使用Chrome17.0.963.46m,我尝试从网络worker内部创建一个新的网络worker。但是得到了一个“UncaughtReferenceError:Workerisnotdefined”任何信息。在这个?(谷歌在webworkers中创建webworker的链接少得惊人) 最佳答案 即使在Chrome19上也是当前状态——这是错误:http://code.google.com/p/chromium/issues/detail?id=31666它正在FF上工作。 关于java

javascript - 在 Web Worker 中将 SVG 转换为 PNG

我想在WebWorker中将SVG转换为PNG。我的问题是,DOM无法从Worker中访问,所以我无法将SVG绘制到Canvas或类似的东西上。 最佳答案 Weeell,您始终可以手动解析SVG并从中构建位图,但是(!)这显然需要更多工作,因为您必须构建SVG解析器和PNG编写器,更不用说光栅化了线条代码和双模式多边形填充,包括。抗锯齿、图案、矩阵、合成、混合和渐变支持。不过可能是一个不错的周末项目:)但更重要的是:您只能使用使用常规上下文(非网络worker)的内置工具或选择性地设置基于服务器的服务来执行此操作。

javascript - Angular CLI 中的网络 worker

我一直在开发Angular应用程序,由于UI被阻塞,它在客户端有大量计算。我想在AngularCLI项目中使用Webworker在一个线程中运行UI并在backgroundthread中进行大量处理。有没有人有想法如何处理Angular中的繁重计算。如何在AngularCLI中使用WebWorkers一些引用资料AngularCLIgeneratedappwithWebWorkershttps://github.com/angular/angular-cli/issues/5885 最佳答案 您可以使用https://www.npm

javascript - 如何让 service worker 只在第一次访问时注册?

您好,我在express上有一个生成HTML的ejs模板。我在这个模板中写了我的serviceworker注册码,这个模板对网站的所有页面都是通用的,因此,注册码最终出现在网站的每个页面上。因此,在每次用户访问时,都会运行serviceworker注册代码,我认为这是不好的。如何让这段代码只在用户第一次访问时运行?请在下面找到我的代码:if('serviceWorker'innavigator){window.addEventListener('load',function(){varhashes={};["appCss","appJs"].map((val,idx)=>{letpro

javascript - 将 Javascript 对象传递给 Web Worker

我有一个这样的对象:functionA(id){this.id=id;}A.prototype.getId=function(){returnthis.id;}它作为文件(“objects.js”)包含在html页面中,也包含在带有importScript(“objects.js”)的网络worker中。现在,我使用“vara=newA()”在html页面中创建一个A实例,并使用“postMessage()”将其发布到WebWorker。有趣的是,在worker中它仍然具有属性“id”及其值,但原型(prototype)函数丢失了。我猜原因可能是原型(prototype)函数“绑定(b

javascript - 查看服务 worker 内部的请求是否成功

我的serviceworker中有以下代码:self.addEventListener('fetch',function(event){varfetchPromise=fetch(event.request);fetchPromise.then(function(){//dosomethinghere});event.respondWith(fetchPromise);});但是,它在开发控制台中做了一些奇怪的事情,似乎使脚本加载异步而不是同步(在这种情况下是不好的)。有什么方法可以在不手动调用fetch(event.request)的情况下监听请求何时完成?例如://Thisdoes