我发现了有关Android 8和Chrome 71〜72的兼容性问题。 Web Workers在打开DevTools之前是可执行的,但在打开DevTools之后不能运行。
以下是测试结果。
示例代码:
<!DOCTYPE html>
<html>
<body>
<script id="worker" type="app/worker">
addEventListener('message', function () {
postMessage('some message');
}, false);
</script>
<script type="text/javascript">
console.log('script-in')
var blob = new Blob([document.querySelector('#worker').textContent]);
var url = window.URL.createObjectURL(blob);
// console.log('scripe.url',url)
var worker = new Worker(url);
worker.onmessage = function (e) {
console.log('onmessage-in')
// console.log('onmessage.e', e)
// e.data === 'some message'
console.log('onmessage-end')
};
worker.postMessage('')
console.log('script-end')
</script>
</body>
</html>
执行JavaScript,然后打开DevTools:
首先打开DevTools,然后执行JavaScript。