Получить страницу с помощью WebWorker
Мой код выдаёт ошибку безопасности, поэтому хочу услышать от вас варианты как мне реализовать предзагрузку страниц в фоновом режиме на сайте.
Мой код: на странице сайта example.com <area shape='rect' coords='84,84,293,111' onclick='go()'>" главный поток
var pages = {};
var loader = new Worker("http://sub1.example.com/w_p.js");
loader.onmessage = function (e) {
pages = e.data;
}
function go()
{
doc.getElementById(contentContainer).innerHTML = pages[0];
}
воркер
var xhr = new XMLHttpRequest();
xhr.open("GET", "http://sub2.example.com/", false);
xhr.send();
var pages = {};
pages[0] = xhr.responseText;
postMessage(pages);
Выдаёт ошибку: SecurityError: The operation is insecure. var loader = new Worker("http://sub1.example.com/w_p.js"); |
Использовать асинхронный запрос:blink: ??
xmlhttp.open('GET', 'http://sub2.example.com/', *!*true*/!*);
xmlhttp.onreadystatechange = function() {
if (xmlhttp.readyState == 4) {
if(xmlhttp.status == 200) {
alert(xmlhttp.responseText);
}
}
};
xmlhttp.send(null);
|
Всё равно пишет SecurityError: The operation is insecure.
|
А какой смысл делать это в воркере?
|
Чтобы не дергать основной поток загрузкой других страниц. Когда помещаю скрипт воркера на сайт, с которого его запрашиваю, то всё работает. Но мне желательно, чтобы воркер, как и основной скрипт, располагался на cdn.
|
_Alex9_,
Цитата:
|
Благодарю. А с воркером так точно нельзя? Mozilla ни одной лазейки не оставила?
|
Зачем? Это всегда асинхронным запросом делается.
|
Рабочий должен спать, тогда в нем есть смысл (иначе без него заснет браузер), а тут нет смысла.
|
Цитата:
Цитата:
|
| Часовой пояс GMT +3, время: 01:34. |