javascript - 是否可以直接从服务 worker (ServiceWorkerGlobalScope)读取变量?

标签 javascript security variables service-worker

是否可以在不使用 postMessage 方法的情况下从主线程获取 counter 变量 (ServiceWorkerGlobalScope)?

service-worker.js:

    let counter = 42;

    self.addEventListener("message", function (event: any) {
        let client = event.source;
        client.postMessage(counter);
    }

最佳答案

不可能直接引用来自不同全局范围的变量。

您可以使用 postMessage()WindowGlobalScopeServiceWorkerGlobalScope 之间发送值,如示例中所示。

您还可以将变量序列化到可从两个全局范围访问的共享存储,例如 IndexedDB 或缓存存储 API。 idb-keyval是一个易于使用的库,适用于两个范围。

关于javascript - 是否可以直接从服务 worker (ServiceWorkerGlobalScope)读取变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62642404/

相关文章:

javascript - 如何在 Vue.js 中对数组属性的子部分进行分页?

javascript - 如何在 Android 上的 WebView 中允许 HTTP 连接(不是 HTTPS)?

apache - 出于安全原因不允许登录postgresql centos服务器

variables - 如何在 Z80 程序集中创建变量?

variables - 如何在 Prolog 中一致地用变量替换原子?

javascript - 没有JQUERY的使用AJAX发送表单数据的POST方法

javascript - ClassList 在 IE9 中不起作用。需要替代功能

security - Elasticsearch 中的身份验证

objective-c - 将分数离线排队以稍后提交到游戏中心的最佳方法?

windows - 批处理脚本循环变量