Javascript <;拒绝许可>;尝试实例化web工作对象时出错
首次尝试web worker API,但似乎无法从后台工作人员那里得到响应 标记:Javascript <;拒绝许可>;尝试实例化web工作对象时出错,javascript,html,web-worker,Javascript,Html,Web Worker,首次尝试web worker API,但似乎无法从后台工作人员那里得到响应 标记: <script src="~/Scripts/script.js"></script> <button onclick="TriggerWorker()">Trigger Worker</button> worker.js文件的内容: onmessage = function (e) { postMessage('OK'); } 我可以让myWorker
<script src="~/Scripts/script.js"></script>
<button onclick="TriggerWorker()">Trigger Worker</button>
worker.js文件的内容:
onmessage = function (e) {
postMessage('OK');
}
我可以让myWorker对象写入控制台,但响应“OK”永远不会返回控制台。在检查myWorker对象时,我可以看到onmessage属性设置为“Permission denied”。包含worker onmessage声明的文件的路径是相对于html文件的,而不是调用脚本文件 我通过进行以下编辑使其正常工作:
var myWorker = new Worker('../Scripts/worker.js');
myWorker.onmessage = function (e)
onmessage = function (e) {
postMessage('OK'); }
myWorker.onmessage = function (e)
onmessage = function (e) {
postMessage('OK'); }
您的工人类在哪里?在发送消息时工人是否已加载?在加载时记录一些内容,看看是否有效…@noob worker.js文件中没有其他声明。是否应该在名为Worker()的函数中?@dandav在我尝试此操作时,控制台中没有任何内容,但据我所知,该Worker加载了不同的作用域,因此不确定它是否确实可以访问控制台。也许我没有真正进入worker.js文件…我的意思是立即发送来自worker的消息,onload,甚至只是在底部。发送无处可去的消息不会像错误一样留下任何明显的痕迹。我怀疑触发OK消息的消息在worker的onmessage处理程序绑定之前到达。。。