Получить страницу с помощью 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, время: 15:30. |