Написал простенькую функцию
для коммуникации написал вэб воркера и аджакс разделил их по файлам
function crWorkerAjax(modeWork, typeSend, adr, param, id, callback)
CODE (
javascript):
скопировать код в буфер обмена
{
var workerAjax = new Worker('ajaxWorker.js');
var objEx =
{
mode:modeWork,
type:typeSend,
adress:adr,
parametrs:param,
ID:id,
funct:callback
};
workerAjax.postMessage(objEx);
}
код работника
CODE (
javascript):
скопировать код в буфер обмена
onmessage = function (event)
{
alert(event.data);
importScripts('AjaxClass.js');
var ajObj = new AJAXprov();
httpP = ajObj.provXmlHttp();
var obj = event.data;
ajObj.sendAnsServ(obj.mode, obj.type, obj.adress, obj.parametrs, obj.ID, obj.funct);
}
в результате опера пишет Uncaught exception: DOMException: DATA_CLONE_ERR
а мозила, что файл не существует. все файлы лежат в одной папке. Что я сделал не так?
(Добавление)
немного помучившись выявил, что ошибка была, как это ни странно, в одинарных кавычках в Worker('ajaxWorker.js') последняя из них интерпретировалась как текст...
поставил двойные прописал абсолютный путь; и в функции колбэка, убрал функцию, теперь все работает, но только в мозиле и хроме, опера выводит вместо нужного значения undefined. Кто сталкивался, может реализация воркеров в опере отличается от других браузеров. Во всех статьях в том числе на опера дэв, вроде написано о поддержке этой технологии.