2015-01-23 3 views
0

Я не могу понять, есть ли что-то в sharepoint, что вызывает у моего веб-работника ошибку, как только она создается в IE11. Тот же самый работник отлично работает на хроме. Даже попытался простой тест:Веб-работник не выдает ошибку после создания в sharepoint 2013

файл рабочий:

 self.addEventListener('message',function(e){ console.log("message"); })  

и я создаю работника как так:

var worker = new Worker('http://{rootSite}/sites/53/Style%20Library/testworker.js') 
worker.addEventListener('message',function(e){ console.log("message"); }); 
worker.addEventListener('error',function(e){ console.log("error"); }); 

Это странно, потому что я испытал тот же сценарий на не SharePoint сайт, и он работал над IE.

но на сайте sharepoint, как только создайте тестового работника из библиотеки документов того же сайта .. он выдает ошибку .. с нулевым сообщением !!

Пожалуйста, кто-нибудь скажет мне, что здесь происходит ?!

ответ

0

Хорошо ... Так что для всех точек доля разработчиков, которые когда-либо хотят использовать веб-рабочих в своих приложениях ..

я до сих пор не знаю, почему в интернет-проводник веб-работник не удалось загрузить внешний скрипт

Но, видимо, работает встроенный веб-рабочий!

Таким образом, вы можете сохранить ваш рабочий код в библиотеке doc в виде текстового файла. А затем получите его содержимое через ajax, а затем создайте встроенного рабочего. Вам понадобится объект window.URL и блоб конструктор:

Сначала построить блоб из яваскрипта кода в виде строки:

Var string = "worker code "; 

Var блоб = новый блоб ([строка], {типа:» текст/JavaScript "});

Var worker = new Worker (URL.createUriObject (blob));

Смежные вопросы