내 응용 프로그램에서, 나는 아약스 요청을 사용하여 복잡한 함수를 실행하고 회전하는 이미지가있는 모달 div를 표시해야합니다. 모질라에서 잘 작동하지만 크롬에서는 잘 작동하지 않는 javascript를 사용해 보았습니다. 임시 해결책으로 나는 아래와 같이 웹 작업자를 시도했다.웹 워커를 사용하는 크롬의 멀티 스레드 기능성?
main.js
this.Calculate=function(ii)
{
worker.postMessage({'cmd': 'start'});
myfun.calcfun(ii)
worker.postMessage({'cmd': 'stop'});
}
var worker = new Worker("worker.js");
worker.onmessage = function(e) {
if(e.data==1 || e.data==0)
{
if(e.data==0)
document.getElementById("divfade").style.display="none";
else if(e.data==1)
document.getElementById("divfade").style.display="block";
}
}
는 worker.js
self.addEventListener('message', function(e) {
debugger
var data = e.data;
switch (data.cmd) {
case 'start':
self.postMessage(1);
break;
case 'stop':
self.postMessage(0);
// self.close(); // Terminates the worker.
break;
default:
self.postMessage('Unknown command: ' + data.msg);
};
}, false);
그러나 worker.postMessage은 ({ 'cmd'를 '시작'}); myfun.calcfun (ii) 다음에 실행됩니다. modal div는 서버 실행이 완료된 후에 표시됩니다. 작동하게하려면 어떤 제안이 필요합니까?