Но будет это только в нодеке, так что губу не раскатывайте пока:
Отложенную проверку внешних картинок я уже делал. Таким же макаром можно закешировать размеры и принудительно втыкать их в HTML, чтобы при загрузке страница не “скакала”
По умолчанию ставим для картинок и видео атрибут visibility=hidden. Браузер загрузит страницы, зарезервирует место (размеры мы указали), а сам контент грузить не станет. Это быстро.
Потом инициализируем JS, и страницей уже можно пользоваться.
Далее на выбор:
Возвращаем vitibility=visible, и картинки с видео догружаются. Но мы уже в домике: остальное все работает, а не ждет загрузки. Профит.
Ставим трекинг видимой области и возвращаем visbility только когда пост с тяжелым контентом стал видимым (или домотался где-то рядом).
Таким же макаром можно организовать превьюшки аттачей, это еще проще. Записал в “мысли на потом”, сделаю обязательно.
Насчет видео есть и вторая задумка - не фигачить флеш в страницы, а определять на клиенте возможности браузера, и в зависимости от них втыкать жабаскриптом либо флешовую, либо “родную” (html5) версию плеера. Тоже гарантирует неслабый профит.
Оно придумано, только почему-то на форумах нигде не используется.
{"assets_hash":"a8b26fa7f6e768b07a72c8c9aadb9422","page_data":{"users":{"39c21abc3df9550077797d18":{"_id":"39c21abc3df9550077797d18","hid":349,"name":"Vitaly","nick":"Vitaly","avatar_id":null,"css":""},"43a2d1673df955007778dcf5":{"_id":"43a2d1673df955007778dcf5","hid":10756,"name":"leprud","nick":"leprud","avatar_id":null,"css":""},"4a51cbd93df955007776c63c":{"_id":"4a51cbd93df955007776c63c","hid":50477,"name":"Искандер","nick":"Искандер","avatar_id":null,"css":""}},"settings":{"blogs_can_create":false,"blogs_mod_can_delete":false,"blogs_mod_can_hard_delete":false,"blogs_mod_can_add_infractions":false,"can_report_abuse":false,"can_vote":false,"can_see_ip":false,"blogs_edit_comments_max_time":30,"blogs_show_ignored":false,"blogs_reply_old_comment_threshold":30,"votes_add_max_time":168},"entry":{"_id":"4e20f6a299707300771036ea","hid":12179,"title":"Придумал как загрузку внешних картинок и видео оптимизировать","html":"<p>Но будет это только в нодеке, так что губу не раскатывайте пока:</p>\n<ul>\n<li>\n<p>Отложенную проверку внешних картинок я уже делал. Таким же макаром можно закешировать размеры и принудительно втыкать их в HTML, чтобы при загрузке страница не “скакала”</p>\n</li>\n<li>\n<p>По умолчанию ставим для картинок и видео атрибут visibility=hidden. Браузер загрузит страницы, зарезервирует место (размеры мы указали), а сам контент грузить не станет. Это быстро.</p>\n</li>\n<li>\n<p>Потом инициализируем JS, и страницей уже можно пользоваться.</p>\n</li>\n<li>\n<p>Далее на выбор:</p>\n<ul>\n<li>Возвращаем vitibility=visible, и картинки с видео догружаются. Но мы уже в домике: остальное все работает, а не ждет загрузки. Профит.</li>\n<li>Ставим трекинг видимой области и возвращаем visbility только когда пост с тяжелым контентом стал видимым (или домотался где-то рядом).</li>\n</ul>\n</li>\n</ul>\n<p>Таким же макаром можно организовать превьюшки аттачей, это еще проще. Записал в “мысли на потом”, сделаю обязательно.</p>\n<!--cut-->\n<p>Насчет видео есть и вторая задумка - не фигачить флеш в страницы, а определять на клиенте возможности браузера, и в зависимости от них втыкать жабаскриптом либо флешовую, либо “родную” (html5) версию плеера. Тоже гарантирует неслабый профит.</p>\n","user":"39c21abc3df9550077797d18","ts":"2011-07-16T02:25:38.000Z","st":1,"cache":{"comment_count":3,"last_comment":"4e2afc6599707300771622f3","last_comment_hid":3,"last_ts":"2011-07-23T16:52:53.000Z","last_user":"39c21abc3df9550077797d18"},"views":752,"bookmarks":0,"votes":0},"subscription":null},"locale":"en-US","user_id":"000000000000000000000000","user_hid":0,"user_name":"","user_nick":"","user_avatar":null,"is_member":false,"settings":{"can_access_acp":false,"can_use_dialogs":false,"hide_heavy_content":false},"unread_dialogs":false,"footer":{"rules":{"to":"common.rules"},"contacts":{"to":"rco-nodeca.contacts"}},"navbar":{"tracker":{"to":"users.tracker","autoselect":false,"priority":10},"forum":{"to":"forum.index"},"blogs":{"to":"blogs.index"},"clubs":{"to":"clubs.index"},"market":{"to":"market.index.buy"}},"recaptcha":{"public_key":"6LcyTs0dAAAAADW_1wxPfl0IHuXxBG7vMSSX26Z4"},"layout":"common.layout"}