Какой рейтинг вас больше интересует?
|
Главная / Главные темы / Тэг «postmessage»
[recovery mode] Реализации setImmediate: сообщения, мутация или обещания, что быстрее? 2016-01-13 13:51:34
... же лучше подходит: postMessage, MutationObserver или Promise ...
+ развернуть текст сохранённая копия
Доброго времени суток, %username% ! Маленькое исследование на тему «какой же способ поставить функцию/метод на обработку в очередь эффективнее» и, как результат, сравнительный тест, и итоговая реализация схожей с setImmediate функции. Этот метод нужен тем, кто хочет разбивать выполнение скрипта, чтобы тот не «подвешивал» браузер, что бывает полезно при огромном скрипте инициализации, разборе большого массива данных, построения сложной структуры не прибегая к WebWorkers.
Для понимания: setImmediate это метод объекта window , который должен вызвать функцию, переданную в неё, асинхронно, эдакий setTimeout(fn, 0) , где 0 реально 0, а не минимум 4. Для nodejs-программистов это process.nextTick . Т.к. сам метод (setImmediate) имеет чёткий стандарт с ошибками и дополнительными параметрами, рассмотрим абстрактную задачу асинхронного выполнения переданной функции/метода как можно быстрее.
Исследования исключительно в рамках сценариев браузера, при чём основных, т.к. в работниках (workers) не совсем понятно зачем такое дробление, хотя если нужно, можно попробовать обещания и сообщения.
Итак, давайте узнаем, что же лучше подходит: postMessage, MutationObserver или Promise?
Познаём
Тэги: javascript, mutationobserver, nexttick, postmessage, promise, setimmediate, settimeout, веб-разработка
[Из песочницы] Bootstrap Modal Iframe Костыль 2014-02-12 13:46:09
+ развернуть текст сохранённая копия
«Не надо, я сам»
Хромой Итальянец
Постановка задачи
Предлагается следующий сценарий: заказчик хочет разместить на сайтах своих партнёров небольшой горизонтальный динамический баннер с некой бизнес логикой, несложная калькуляция, табличка, локализация. Помимо этого, требуется всплывающее окно с крупной картинкой и контентом, которые по высоте больше чем родительский баннер.
Сразу дали понять, что партнёры, хоть и партнёры, но размещать у себя что-либо сложное не будут, то есть про jQuery забыли. Стандартное решение – iframe с минимальной функцией resize на голом JavaScript.
Подробности, пример, код
Тэги: bootstrap, child, html, html5, iframe, javascript, jquery, modal, parent, resize, window.postmessage, веб-разработка
Доступ к контенту iFrame с другого домена 2014-01-23 12:48:59
Сегодня я хочу рассказать о том, как мы в своем проекте indexisto.com сделали дешевую ...
+ развернуть текст сохранённая копия
Сегодня я хочу рассказать о том, как мы в своем проекте indexisto.com сделали дешевую китайскую подделку аналог инструмента Google Webmaster Marker. Напомню, что Marker это инструмент в кабинете Google Webmaster, который позволяет аннотировать ваши страницы Open Graph тегами. Для этого вы просто выделяете мышкой кусок текста на странице и указываете что это title, а это рейтинг. Ваша страница при этом грузится в Iframe в кабинете вебмастера.
Теперь Google, встретив подобную страницу на вашем сайте, уже знает, что за контент на ней опубликован, и как его красиво распарсить в сущность (статью, товар, видео..)
Нам был нужен подобный функционал. Задача казалась несложной и исключительно клиентсайд. Однако на практике решение лежит на стыке клиентсайда и серверсайда («чистые» JS программисты могу ничего не знать про различные прокси серверы и очень долго подходить к снаряду). При этом я не нашел в интернетах статью которая описывала бы всю технологию от начала до конца. Также хочется сказать спасибо пользователю BeLove и нашим безопасникам за помощь.
Читать дальше →
Тэги: group, iframe, java, javascript, mail.ru, nginx, postmessage, proxy, блог, браузеры, веб-разработка, компании
Кроссдоменный postMessage или как браузеры поддерживают стандарты 2013-10-10 06:49:11
+ развернуть текст сохранённая копия
Во время прикручивания облачных хранилищ к скрипту для бэкапа, встала необходимость использовать OAuth 2 авторизацию, для использования с разными облачными API. В принципе с самой авторизацией никаких сложностей не возникло, но проблема возникла в немного неожиданном месте.
Учитывая аудиторию использующую софтину, было решено отказаться от поддержки древних браузеров, и всё затачивалась под современные браузеры, использующие HTML5, которые казалось бы уже вполне неплохо и одинаково поддерживают страндарты.
Но, не тут-то было…
Читать дальше →
Тэги: javascript, oauth, postmessage, браузеры, веб-разработка, кроссдоменный
HTML5: Web Workers в действии 2010-07-08 18:21:18
ПредысторияРаньше, когда деревья были большими, во всех ...
+ развернуть текст сохранённая копия
ПредысторияРаньше, когда деревья были большими, во всех браузерах у JavaScript был только один поток вычисления. Иными словами, если мы запускали что-нибудь очень тяжелое, то теряли управление до тех пор, пока все не выполнится. Продвинутые разработчики естественно: - выносили весь JS-код во внешние файлы,
- учитывали сколько потоков загрузки с домена может быть у браузера одновременно и объединяли несколько файлов в один,
- использовали маленький загрузчик, который в свою очередь по setTimeout уже подгружал оставшиеся 30-40Кб кода (таким образом удавалось раньше отобразить страницу, пусть и с ограниченным функционалом),
- тяжелые операции разбивали на сегменты и выполняли их через интервал времени (setInterval),
- написание offline приложений вообще было отдельным искусством, а уж если приходилось писать приложения для неустойчивых соединений, то это уж совсем шаманство.
Однако суровые времена средневековья проходят. Теперь, в наиболее современных браузерах, появляется поддержка HTML5 и в частности Web Workers. Потоков вычисления может быть несколько. Обновленные подробности о Web Workers
Тэги: gecko, html5, javascript, onerror, onmessage, postmessage, presto, web, webkit, worker
Главная / Главные темы / Тэг «postmessage»
|
|