2016-07-25 22 views
5

Mật mã Web của IE11 nằm bên trong window.msCrypto, trong khi đối với Firefox hoặc Chrome, có thể truy cập được trong window.crypto.Tôi có thể truy cập MSCrypto từ một Web Worker trong IE11 không?

Web Workers không có quyền truy cập vào các window bối cảnh nhưng, may mắn, Chrome và Firefox cũng phơi bày sự biến crypto trong bối cảnh Worker Web (vì vậy, ở cấp độ toàn cầu, bạn có thể sử dụng this.crypto để truy cập bộ Web Crypto trong một Web Worker). Có vẻ như, tuy nhiên, IE11 thực hiện không phơi bày this.msCrypto trong ngữ cảnh Công nhân trên web của họ.

Điều đó có đúng không? Có cách nào để sử dụng Web Crypto trong IE11 Web Worker không?

Trả lời

3

"hỗ trợ Web Crypto API bên trong một Worker Web" là một vấn đề mở trên Microsoft phát triển trang web https://developer.microsoft.com/en-us/microsoft-edge/platform/issues/7607496/

Web Crypto API không có sẵn bên trong một Worker Web. Cả "self.crypto" và "self.msCrypto" đều không được xác định bên trong ngữ cảnh công nhân.

Tôi đoán là vấn đề tương tự cho IE11 nhưng tôi đã không tìm thấy tài liệu

Trong thread điều này cho thấy một cách giải quyết, thay đổi từ sợi nhân viên web vào chủ đề chính để thực hiện các hoạt động WebCrypto. Giả sử rằng hiệu suất sẽ bị mất và lập trình chắc chắn sẽ phức tạp

+0

Cảm ơn, tôi đã sử dụng ForgeJS làm bản sao lưu. Đó là chậm hơn rất nhiều so với bản địa (vì lý do rõ ràng), nhưng nó hoạt động. –

Các vấn đề liên quan