草庐IT

service-worker-events

全部标签

javascript - Web Worker 会增加(或减少)安全性吗?

WebWorker是否减轻或加剧了任何JavaScript和浏览器环境的已知安全问题? 最佳答案 根据MozillaWebWorkers安全审查:工作人员在严格控制的沙箱中执行。无法访问组件或其他全局JS组件。只有基本的JS(数学、日期等)、超时、XHR和importScripts。脚本加载受与主程序相同的限制主题(内容政策、同源限制等)。XHR使用与主线程相同的代码。这些回答了我所有的安全考虑。 关于javascript-WebWorker会增加(或减少)安全性吗?,我们在StackO

javascript - 使用 CSP 在 Web Worker 中启用 'new Function'

我无法让newFunction在WebWorker中工作。我有一个生成WebWorker的HTML页面。这个WebWorker通过newFunction(str)执行代码。我正在尝试在打包的Chrome应用程序中使用它,这需要使用eval类代码的页面在list中明确列为沙盒页面。现在,有两个选择:Do列出要沙盒化的页面。如果这样做,我可以使用newFunction,但我无法生成WebWorker,因为我无法发出任何请求(沙盒页面具有唯一来源)。newWorker(...)抛出一个SECURITY_ERR。newFunction在沙箱中工作newWorker由于唯一来源而在沙箱中失败不要

javascript - Web Worker 开销指标

我正在做一个可能需要多个webworker的项目,我需要知道同时运行多个webworker是否负担得起(比如超过4或8个worker)以及两个cpu的成本是多少和ram启动它们并让它们挥之不去。我一直在谷歌上搜索,但我没有找到关于他们的CPU和内存开销的任何指标。我找到了一些性能基准,但这不是我感兴趣的。任何人都可以指出至少给出近似值的规范或研究吗?我至少需要有一些大概的值来处理,而不是仅仅假设我从ProcessExplorer中看到的任何内容都是准确或可靠的。编辑-似乎人们的印象是错误的。我不是寻求有关如何解决问题的建议,而是寻求有关网络worker开销的技术信息来源(如果存在)。

javascript - angular watchers 和 event listeners 以什么顺序执行?

如果先更改作用域属性,然后再广播事件,那么相应的观察者回调和事件监听者回调是否总是以相同的顺序执行?例如:$scope.foo=3;$scope.$broadcast('bar');和其他地方:$scope.$watch('foo',functionfn1(){...});$scope.$on('bar',functionfn2(){...});fn1是否总是在fn2之前执行,反之亦然,或者是否可以不依赖该顺序?请引用来源,最好是官方Angular文档。以防万一:假设$scope.foo=和$broadcast发生在由ng-click(即用户交互)调用的函数中[旁白]抱歉,问题标题草率

javascript - 从 Web Worker 内部运行 window.crypto.getRandomValues()

我已经无计可施了。知道网络worker无法访问window对象,有什么办法可以做到这一点吗?请帮忙! 最佳答案 我知道这是一个老问题,但我偶然发现了这个问题,事情发生了变化。大多数浏览器现在都支持网络worker中的加密。在webworkers中,您可以访问self,它不包含所有“窗口”属性(尤其是与dom无关的属性),但包含加密函数等API方法。因此,您可以从webworker中简单地访问self.crypto.getRandomValues()。我做了一个fiddle作为例子:http://jsfiddle.net/jbrosi

javascript - Serviceworker Bug event.respondWith

我的serviceworker有这样的逻辑,当一个获取事件发生时,首先它获取一个包含一些bool值(不是event.request.url)的端点并根据我调用的值检查该值事件.respondWith()对于当前的获取事件,我在其中提供来自缓存的响应。但是我收到以下错误,Uncaught(inpromise)DOMException:Failedtoexecute'respondWith'on'FetchEvent':Thefetcheventhasalreadybeenrespondedto我检查了here当m_state不等于Initial时抛出此错误if(m_state!=Init

javascript - 为什么 react-tap-event-plugin 在我的 TypeScript 项目中不起作用?

我正在尝试使用material-ui和react-tap-event-plugin但在加载应用程序时出现此错误:react-dom.js:18238Warning:Unknownprop`onTouchTap`ontag.Removethispropfromtheelement.Fordetails,seehttps://....inbutton(createdbyEnhancedButton)inEnhancedButton(createdbyIconButton)inIconButton(createdbyAppBar)indiv(createdbyPaper)inPaper(cr

javascript - 使用 Service Worker 离线处理文件上传

我们有一个网络应用程序(使用AngularJS构建),我们也在逐渐添加PWA“功能”(服务worker、可启动、通知等)。我们的Web应用程序的其中一项功能是能够在离线时完成Web表单。目前,我们在离线时将数据存储在IndexedDB中,并简单地鼓励用户在他们在线时将该数据推送到服务器(“此表单已保存到您的设备。现在您重新在线,您应该保存它到云端……”)。我们会在某个时候自动执行此操作,但目前没有必要。我们正在为这些Web表单添加一项功能,用户可以借此将文件(图像、文档)附加到表单,可能在整个表单的多个位置。我的问题是-serviceworker有没有办法处理文件上传?以某种方式-也许

javascript - 网络 worker 有自己的垃圾收集器吗?

我有一些处理过程不一定是CPU密集型的,但是会创建很多临时对象,这会导致垃圾收集器在动画期间出现令人不快的问题等。将临时对象创建过程卸载给网络worker是否有助于缓解这种情况?换句话说-GC问题会被隔离到Web工作线程而不影响我的主线程,还是GC会影响两个线程? 最佳答案 ECMAScript规范没有规定任何形式的内存管理,垃圾回收仅在非规范部分提及。类似地,webworker规范除了wrt之外并没有太多关于垃圾收集的内容。某些对象必须存活多长时间。所以这是特定于实现的行为。即使实现实现了每个工作人员的GC并在一般情况下避免了共享

JavaScript 事件循环 : Queue vs Message Queue vs Event Queue

阅读了大量的JavaScript事件循环教程,我看到了不同的术语来标识队列存储消息,当调用堆栈为空时,事件循环准备好获取消息:队列消息队列事件队列我找不到规范的术语来识别它。甚至MDN似乎也对theEventLooppage感到困惑因为它首先称它为队列,然后是消息队列,但在标签中我看到了事件队列。循环的这一部分是否在某处进行了详细定义,或者它只是一个没有“固定”名称的实现细节? 最佳答案 问得好,我也提倡使用正确的术语。队列、消息队列和事件队列指的是同一个构造(事件循环队列)。此构造具有在事件循环中触发的回调。有趣的是,有两个不同的