Next-Gen YSlow Осъществено от Юи
Юли 18, 2011 21:17 от Марсел Дюран | в развитието , изпълнението | 4 КоментариПреди няколко седмици, Yahoo! обяви YSlow за мобилни устройства на Velocity 2011 , с което властта на YSlow анализ изпълнение на мобилния свят.
YSlow за мобилни работи като отметка , което прави възможно да се движат по други браузъри, отколкото Firefox (като добавка) или Chrome (като допълнение) .
Архитектурата на YSlow е частично преработени, за да работят по-платформа и Юи е съществен фактор в sandboxing, крос-браузър абстракция и на прост YQL достъп възможно.
Sandboxing
За да бъде вграден в страницата, без да се намесва с анализ на ефективността на и без да се обърква със самата страница, YSlow е една отметка, който инжектира JavaScript и CSS в която и да е страница, чрез повишаване на силата на Юи sandboxing:
Отметка URL:
JavaScript: (функция (Y, P, о) {р = y.body.appendChild (y.createElement ("Iframe")); p.id = 'YSlow отметка "; на дисплея p.style.cssText =': няма "; О, = p.contentWindow.document; o.open () напиши (" <head> <тялото onload = "YUI_config = {победа: window.parent, докторе: window.parent.document}; и VAR г = документ; d.getElementsByTagName (\ "началник \ ') [0]. appendChild (d.createElement (\" скрипт \ ")). може да = \' http://d.yimg.com/jc/yslow-bookmarklet.js \ "> '); o.close ()} (документ)) Кодът по-горе:
- създава празен Iframe;
- добавя тя към страницата орган;
- скрива * Iframe ";
- получава прозорец манипулатор;
- пише в неговото съдържание тялото на вградена рамка;
- това тяло е празна, но има един
onloadсъбитие -
onloadсъбитие определя как да инжектирате YSlow JS:- , определя
YUI_config, така чеwinи наdocточки към страницата, се анализиратwindowиdocument - динамично инжектира YSlow URL чрез създаване на
scriptелемент в Iframehead
- , определя
* Вградена рамка се показва по време на всички презентации YSlow активи са заредени
Това ще постави вградена рамка в страницата се анализират. Това Iframe ще действа като sandboxed среда, и YSlow ще да пребивават в него. Тъй като на Iframe е създаден динамично без src атрибут, то ще има достъп до майка (страницата се анализират), защото има не един и същ произход за нарушение на правилата, което се случва там.
В YUI_config обектът е удобен, защото тя определя win и doc майка Iframe (страницата се анализират), като по този начин всяка нова инстанция Юи ще бъде обвързана към майка документ по подразбиране, окабеляване всяка покана на Y.all и Y.one чрез Y.config.win или Y.config.doc от по Юи use обратно.
Представяне YSlow се обработва от Iframe window и document препратки, което позволява YSlow главния скрипт, за да се направи за маркиране, както и донесе външен CSS в рамките на този Iframe, без да влиза в конфликт с стилове майка. YSlow сканира майка страница, за да получите всички компоненти (изображения, скриптове, връзки, фон-изображение, флаш и т.н.), необходими за по-късно анализ на ефективността. Това се прави чрез достъп Y.config.win и Y.config.doc , тъй като те се отнасят към страницата майка.
Cross-браузър абстракция
Като една отметка, YSlow за мобилни устройства е трябвало да работят на всеки браузър *. Юи се абстрахира въпросите, свързани с различни браузъри, като нормализиране на браузъра различия, в резултат на чиста, лесна за четене и възможна за поддържане програмния код.
YSlow, не е напълно пренесли до Юи 3 - само контролера слой, (от предстоящия компонент App) за сега - но все пак, всички DOM манипулация и обработка на събитие се извършва от node и event модули. В бъдещите версии, ние планираме да пренесете повече функции YSlow Юи 3.
* Не всички браузъри се поддържат в момента
YQL
YSlow анализира страници, като проверка на HTTP хедъри за компонентите, намерени на страницата. HTTP отговор заглавията за грешка не са налични в страницата, следователно тези компоненти трябва да бъдат поискани отново с цел за YSlow, за да получите информация заглавие отговор. Това може да се постигне, като се иска списък с URL адреси на компонент чрез XMLHttpRequest (AJAX), но за съжаление поради ограничение със същия произход политика , това не е възможно, освен ако всички компоненти са в същия домейн като на страницата, което е много малко вероятно.
Една обща заобиколно решение за ограничение на същия произход политика се използва JSONP, където работи като прокси иска списък от компоненти, URL адреси и извличане на HTTP заглавия на отговор от името на YSlow външен сървър. Поради популярността на YSlow и последните мобилни анализ на ефективността на усилията, ние очакваме доста тежък трафик за YSlow за Mobile отметка,. За да подкрепи такъв трафик, YQL е мащабируемо решение, прието от на YSlow чрез отворена таблица с данни, име data.headers , които извлича отговор горни и съдържание за даден списък с URL адреси, докато се представя за User-Agent, за да се гарантира, очаквано съдържание е възстановен.
Запитване на YQL компонент върши цялата работа на управление на YQL запитвания по време на управлението на JSONP заявки под капака, което прави контролера YSlow код много по-прости и лесни за поддръжка.
Бъдещи подобрения: Нова YSlow за мобилни приятелски интерфейс
В момента на YSlow за мобилния потребител опит е същата, както на работния плот опит. Справяне с дълъг списък на данни за резултатите от анализи, не е най-добрият опит на малки екрани смарт-телефони. От Юи абстрахира кръстосано устройство жестове , YSlow за мобилни устройства ще получи чисто нов мобилен лесен интерфейс в бъдещите версии.
Извършване на изпълнение инструмент
На YSlow за разгръщане Mobile е направена внимателно от гледна точка на ефективност на въздействие върху времето за зареждане на страницата се анализират. Юи 3 модула, които се използват за YSlow са били проверявани, за да бъдат включени само модулите, необходими, за да заредите YSlow възможно най-бързо. Семето Юи файл и Loader не бяха включени, тъй като всички необходими модули и submodules, са комбинирани заедно, Райън Grove за изпълнение на Дзен съвети, които направиха възможно да се зареди всичко заедно в един малък една молба: YSlow bookmarklet.js: 204KB, 66KB ( GZIP), където:
- На Юи: 75KB, 27KB (GZIP)
- YSlow: 129KB, 39KB (GZIP)
Повече за YSlow
Бъдете постоянно в течение за дата с най-новите обяви YSlow:
- Посещение на обновения YSlow страница в getyslow.com,
- Обич YSlow във Фейсбук: facebook.com / getyslow
- След YSlow на Twitter: twitter.com / getyslow
Споделете и разширяване : Запазете си отметка към del.icio.us | Digg тя | Reddit!
4 Коментари »
RSS емисия за коментари по тази публикация TrackBack URI
Оставете коментар

Copyright © 2006-2012 Yahoo! Inc. Всички права запазени. Декларация за поверителност - Условия за ползване
Осъществено от WordPress на Yahoo! Уеб хостинг .

Това определено може да използвате мобилния си стилове сега
Коментар от Хуан - 19 юли, 2011 #
Добри новини Марсел. Поддържайте добра работа!
Коментар от Едуардо Лундгрен - 21 юли, 2011 #
[...] Next-Gen YSlow захранва от Юи [...]
Pingback от най-добрите практики за ускоряване на вашия уеб сайт «Chandara - 25 юли, 2011 #
Аз не съм разработчик, но съм се интересуват в изпълнение App ÖVE WAN и Интернет. Аз го опитах за първи път и тя работи страхотно за мен. Благодаря за пускането на усилия в ...
Коментар от Клиф Чапман - 27 юли, 2011 #