Web 工作者在 mac safari 上触发异常

Web workers fires exception on mac safari

本文关键字:异常 safari 工作者 mac Web      更新时间:2023-09-26

我在创建网络工作者时面临以下异常。 检查我的代码片段

    var temp = new Worker('/file.js')
    try{
    temp.postMessage('msg')
    }
    catch(e){
     console.error(e)
     }

异常是"类型错误:值不是序列"

我不确定这有多相关,但是我们在启用了 WebDriver 扩展的任何 Safari 实例上遇到了console.*调用问题。我怀疑这与WebDriver收集控制台日志的方式有关,它以某种方式以抛出TypeError的方式覆盖默认实现。

对于单元测试,我们的解决方案是用茉莉花应用我们自己的模拟。类似的解决方案可能会对您有所帮助。

beforeEach(() => {
  if (window.navigator.userAgent.indexOf('Safari') > -1) {
    spyOn(console, 'log').and.stub();
    spyOn(console, 'info').and.stub();
    spyOn(console, 'warn').and.stub();
    spyOn(console, 'debug').and.stub();
    spyOn(console, 'error').and.stub();
  }
});