Я пытаюсь реализовать 'Web Worker to resolve a problem. However whenever I try to test the
Worker`, чтобы увидеть, существует ли он, я продолжаю возвращаться к тому, что Worker' неопределен '.
Среда: Windows 7.0, Visual Studio 2013, Internet Explorer 11, HTML 5. Приложение - это MVC.
csHTML (я заменил фактические URL-адреса и текст привязки общими квадратными скобками "[]" для примера кода):
<a class="document-link" onclick="markLastVisitedCaseDocument([url]);
openDocument([url])">[anchor text]</a>
Таким образом, событие onclick
запускает две функции JavaScript. Первые отметки о том, что текст был недавно посещен. Второй (и тот, с которым у меня возникли проблемы) открыл URL (который является документом PDF) в редакторе PDF на клиенте. Это работает, но на производство может уйти необычайно много времени. Меня попросили реализовать сообщение «Пожалуйста, подождите». Однако, поскольку JavaScript является однопоточным, я не видел, как реализовать сообщение «wait» и вызвать редактор и документ.
В своем исследовании я натолкнулся на два варианта: Web Worker (window.Worker) или HTML5 (который, я считаю, допускает многопоточность JavaScript). Я бы предпочел не реализовывать HTML5 в настоящее время, учитывая ограниченное время для этого исправления. Я пытался реализовать window.Worker
, но продолжаю замечать, что он «неопределен».
В данный момент я просто пытаюсь заставить Работника «работать». Код дает мне ошибку, что работник не определен.
function openDocument(url) {
var myWorker = new Worker("Worker.js);
Это не эквивалентно [ Поддерживаются ли Shared WebWorkers в IE 11? , поскольку этот пользователь пытался использовать Shared Web Workers, а я пытаюсь использовать Web Workers. Этот пользователь также признал лучшим ответом, что Shared Web Workers не поддерживаются в IE. Я читал, что веб-работники предположительно поддерживаются.