无法在 Chrome 中初始化 WebWorker

Can't initialize WebWorker in Chrome

我正在尝试借助 GitHub link to VoicePin Code

处的代码在浏览器中录制语音

recorder.js 中的 worker.postMessage 似乎正在工作,但没有工作线程接收它。我将 recorder.js 设置为记录来自其所有方法的消息,直到我尝试从 getBuffers 方法获取消息时,我才看到方法。调用该方法后,基于recorderWorker的WebWorker要回调我们传递的callBack方法。那是我在日志中看不到任何东西的地方。当我检查代码时,recorderWorker.js 开始使用 onmessage() 发回数据 第一次使用该回调调用。

据此,我认为 recorderWoker.js 从未初始化,因为我在 recorder.js 和 audioManager.js 中给出的位置都是错误的。

这是我的代码..

在我的页面中,我将三个 js 文件加载为...

<script type="text/javascript">
<%@include file="../scripts/voicepin/recorder.js" %>
</script>
<script type="text/javascript">
    <%@include file="../scripts/voicepin/recorderWorker.js" %>
</script>
<script type="text/javascript">
    <%@include file="../scripts/voicepin/audiomanager.js" %>
</script>

以下是我尝试传递记录器工作路径的两种替代方式...

var recorderWorkerPath = 'recorderWorker.js';

或者...

var recorderWorkerPath = 'scripts/voicepin/recorderWorker.js';

文件夹scripts在WEB-INF下

看来我没有学到任何关于在网页中正确传递文件位置信息的知识。有人可以帮忙吗?

我犯了一个简单的错误,将 javaScript 文件放在 WEB-INF 而不是 WebContent 下。改变到正确的位置解决了它。