How to become an author
.NET Knowledge Base
  • All streams
  • Development
  • Administrating
  • Design
  • Management
  • Marketing
  • PopSci
Log in Sign up
662.8
Karma
0.0
Rating
68
Followers
27
Following

Слава Вишняков yoihj

Нагруженные бэкэнды

Profile

Posts 34

Comments 858

Bookmarks 34

  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 10:38 PM
    0
    Я придумал кстати как побороть 2 хотя бы частично — буду возвращать настоящий d.wr перед тем как делать innerHTML =.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 10:28 PM
    0
    Про 1. не очень понял. Там же как бы буфферизация идет — каждый document.write собирается в длинную строку, а затем innerHTML делается один раз по окончании работы каждого загруженного скрипта (а не на каждый вызов d.wr)

    2. На самом деле да, document.write(<script) — это вообще проблема (к счастью, все же, многие так не делают). Но на этот случай просто надо такие плохие оставлять обычным src, ибо я не вижу как это решить. Есть идеи?

    3. Да, я думал про это — просто insertBefore понадежнее, чем самоделка insertAfter :) не хочу понижать надежность из-за академичности.

    Спасибо за комментарии.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 09:43 PM
    0
    Думаю это плохая идея, потому что когда его вызывать — когда загрузились все скрипты? Долго ждать придется. Лучше уж все же выносить во внешние файлы. И на самом деле JQuery лучше держать локально и не вызывать через extsrc, а использовать extsrc для всяких виджетов, информеров, API — всего того, что нельзя локально скопировать.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 04:19 PM
    0
    Или вот еще интереснее задачка — есть у вас 10 счетчиков, которые выдали вам код с <script src — попробуйте-ка слить их в один файл у себя на стороне (учитывая что счетчики срабатывают именно при этом вызове того самого URL, который в src="" прописан).
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:32 PM
    0
    К сожалению, в том-то и беда, что нельзя… Допустим мой скрипт загрузился первым — inline script еще не загрузился — я не могу его обработать… как только браузер его загрузит — он его исполнит — я его опять же не могу обработать…
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:30 PM
    0
    Мысль интересная, надо будет попробовать.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:29 PM
    0
    Верная мысль… есть идеи про название?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:28 PM
    0
    «Валидность гарантирует, что в каком-то новом браузере, соответствующем стандартам, ваш сайт будет отображаться точно также, как отображается в нынешних.»

    Единственное что хоть немного(чуть-чуть) это обещает — это ACID тесты… Гарантировать тут вообще никто ничего не гарантирует. Код может быть валидным и отображаться черт-те-как в разных браузерах.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:27 PM
    0
    Вы живете в мире фантастики.

    Вот вы вебмастер сайта, вот вам дают какой-нибудь информер, который шеф обязательно хочет видеть прямо вот в начале страницы. И использует она document.write()… При этом скрипт генерится на удаленной серверной стороне… Давайте, дерзайте, слейте ее в один файл и всуньте в конец. Посмотрю я как это у вас получится.

    Проблема как раз в том, что туча всякого дурдома до сих пор использует document.write… туча всякого дурдома не позволяет вам хранить их скрипт на вашем сервере.

    Те же Google Maps API — давайте, слейте в один со своими скриптами.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:22 PM
    +1
    Да, выложу. Просто ей еще 12 часов нет, надо было хоть немного отладить :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:21 PM
    0
    Как раз недавно читал что многие браузеры имеют это свойство и отчитываются о его наличии, хотя и не реализуют его.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 06:08 AM
    0
    тест whiteposts.com/extsrc_js/extsrc2.html
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 06:06 AM
    0
    что характерно… при попытке добавить это

     var attrs = current_script.attributes;
     for(var i = 0; i < attrs.length; i++) {};
    


    в ту часть где asyncsrc — IE6 напрочь отказывается что-либо грузить и правильно работать…

    код whiteposts.com/extsrc_js/extsrc-004.js

    разгадки?..
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 03:25 AM
    0
    Мысль интересная, но у меня как-то ни одной мысли как найти все атрибуты у тэга…
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 02:04 AM
    0
    Готово.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 02:01 AM
    0
    Хорошая идея!
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 01:34 AM
    +1
    1m39s: «Мы не даем никаких привелегий(boost) страницам, которые валидны»
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 01:33 AM
    +1
    Плохо слушаете, вот вам Matt Cutts:
    www.youtube.com/watch?v=FPBACTS-tyg#t=1m30s
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 10, 2010 at 12:06 AM
    0
    Вроде бы пофиксил в 0.007. whiteposts.com/extsrc_js/extsrc.js (переменная buffer)

    Буфферизируется все, что выдает скрипт, пока не сработает следующий скрипт (или скрипты не закончатся). Затем один раз создается SPAN с этим содержимым (для каждого скрипта).

    Если только кто-то не делает doc.write чего-то и ждет в скрипте результатов этого (мне даже трудно представить возможно ли такое) — то должно работать для всех тэгов скриптов и т.п. Есть идеи где такое возможно?

    Спасибо за подсказку :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 11:49 PM
    0
    Хром по-моему это не поддерживает. Это вообще первое что я попробовал :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 11:37 PM
    0
    Не все src можно заменять на extsrc — в том-то и проблема. Пока это только моя интуиция, но есть подозрения… Поэтому и рекомендуется руками заменять.

    Кроме того этот userjs должен будет срабатывать до того как браузер обработает DOM. Я не знаю насколько это возможно. Не настолько я спец в Javascripte :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 11:36 PM
    0
    Да, я бы тоже уши-то пооткрутил — но ведь ДЕЛАЮТ люди и многие. Так пусть хоть может так делают, хоть чуть быстрее будет все.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 11:35 PM
    +1
    Спасибо :) признаю, это было непросто и в какой-то момент IE довел меня до желания все бросить и что работать это никак не будет :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 11:35 PM
    0
    А по-точнее можно?

    Я тут свою идею уже придумал ) но она требует доработки. Идея, в общем-то — буфферизация в случае если document.write обнаруживает, что пишется <script до момента пока </script не обнаружится… Только сказать проще чем отладить ))
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 10:47 PM
    0
    хммммм… да, проблемка… есть идеи как ее решить?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 10:46 PM
    0
    А сейчас та же фигня?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 10:45 PM
    0
    A если в черновики убираешь (мне пауза нужна была чтобы не высказать все что я думаю по поводу internet explorer :)) ) — комменты временно пропадают до первого нового.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 09:13 PM
    +1
    разве innerHTML = '<script></script>' не работает?
    или в чем проблема?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 09:01 PM
    0
    Хотя смотря ГДЕ. В коде страницы? Во внешнем скрипте?

    Проблемы в любом случае не возникнет, скорее всего. Единственное что будет работать медленнее (как обычный скрипт), но в любом случае после рендера страницы.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 09:00 PM
    0
    Скорее всего проблемы не будет.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:52 PM
    +1
    Это по ходу ошибки в другом скрипте, в extsrc.js там до 852 строки не доходит дело :)
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:50 PM
    +2
    Вроде бы фикс нашелся — проверьте в IE/Opera.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:40 PM
    0
    Проблема в .onerror у IE/Opera… точнее в том, что его нет :) Думаю как обойти.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:37 PM
    0
    А не, вижу баг. Все правильно. Буду искать.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:36 PM
    0
    Opera 10.62/Ubuntu все ОК. Может кто-то еще с оперой подтвердить баг?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:35 PM
    +1
    А можете выложить что IE пишет и есть ли что-то в Error Console у Opera?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:31 PM
    0
    А можно копию того что выдает IE и желательно из оперы тоже — есть ли что-то в Error Console?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:08 PM
    +3
    А сколько браузеров реально поддерживают «defer»?
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:07 PM
    +1
    О! Верно! Это очень даже правильно. Плюс Вам в карму за помощь. Исправлено.
  • extsrc.js — загружаем все скрипты асинхронно и уже после отрисовки страницы (даже с document.write)
    131
    yoihj
    October 9, 2010 at 08:00 PM
    +1
    2. Сделано — document.write возвращается на место.
  • ← here
  • there →
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

Info

  • Rating 6,056–th
  • Date of birth January 23, 1983
  • Activity 11/4/16, 4:41 PM
  • Registered April 10, 2008

Contribution to hubs

  • Information Security 310
  • Working with 3D-graphics 262
  • Opera 205
  • Algorithms 203
  • JavaScript 143
  • Antivirus protection 137
  • C++ 129
  • Website development 125
  • IT-companies 108
  • Hosting 95

Your account

  • Log in
  • Sign up

Sections

  • Posts
  • Hubs
  • Companies
  • Users
  • Sandbox

Info

  • How it works
  • For Authors
  • For Companies
  • Documents
  • Agreement
  • Terms of service

Services

  • Ads
  • Subscription plans
  • Content
  • Seminars
  • Megaprojects
© 2006 – 2021 «Habr»
Language settings
About
Support
Mobile version
Language settings
Interface
Content