Веб-работники HTML5 для привязки событий jQuery (как насчет IE?) - PullRequest
0 голосов
/ 03 декабря 2010

Работники HTML5 - очень интересная концепция, позволяющая избежать заблокированного пользовательского интерфейса.

Для приложения магазина я перечисляю большее количество виджетов товаров, для которых мне нужно активировать функциональность, используя привязки jQuery.

Смогу ли я использовать веб-работников для выполнения этой задачи, чтобы страница реагировала намного раньше?

В IE отсутствует поддержка веб-работников, но можно было бы реализовать / смоделировать что-то симулированное до тех пор, пока не появится поддержка?

Я нашел эту реализацию для IE и более старых браузеров http://code.google.com/p/ie-web-worker/

Ответы [ 2 ]

1 голос
/ 03 декабря 2010

Да, веб-работники не блокируют DOM, поэтому их использование ускоряет рендеринг.

Единственная альтернатива веб-работникам - использование последовательности коротких функций, вызываемых с помощью window.setTimeout, но это блокируетDOM.

edit: найденная вами альтернатива не совсем та же.Поскольку он не выполняет упреждающую многозадачность (как это возможно), если вы запустите долго работающий скрипт, браузер будет думать, что страница потерпела крах, тогда как в chrome, firefox и т. Д. Это не так.потому что вам нужно получить доступ к DOM.Разделите ваши задачи на довольно большие части (максимум 50 мс), затем поместите каждую часть в window.setTimeout и дайте браузеру запланировать их.Если части слишком малы, браузер будет тратить время.

0 голосов
/ 03 декабря 2010

Веб-работникам будет полезно, если вы пишете долго работающие скрипты. Выгрузка долго выполняющихся сценариев в «рабочий» процесс обеспечит отзывчивость вашего пользовательского интерфейса, поскольку рабочий не будет блокировать ваш пользовательский интерфейс. К сожалению, я не знаю каких-либо замечательных прокладок / поли-заливок для веб-работников для IE (если только у пользователя IE не установлен Google Gears). Я обнаружил, что лучший способ обеспечить отзывчивость вашего приложения - использовать веб-работников для браузеров, которые его поддерживают, но при этом использовать setTimeout (примерно каждые 100 мс) для браузеров, которые этого не делают.

Если вас интересует прокладка на основе Google Gears, вот она: http://html5 -shims.googlecode.com / svn / trunk / demo / worker.html

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...