Я хочу, чтобы виджет addthis был доступен для моих пользователей, но я хочу лениво загрузить его, чтобы моя страница загружалась как можно быстрее. Однако, после того, как я попробовал его с помощью тега script, а затем с помощью моего ленивого метода загрузки, он работает только через тег script. В запутанном коде я вижу нечто, похожее на то, что оно зависит от события DOMContentLoaded (по крайней мере, для Firefox).
Поскольку событие DOMContentLoaded уже запущено, виджет не отображается должным образом. Что делать?
Я мог бы просто использовать тег сценария (медленнее) ... или я мог запустить (кросс-браузерным способом) событие DOMContentLoaded (или эквивалентное)? У меня такое ощущение, что это может быть невозможно, т.к. я считаю, что (как и в jQuery) есть несколько тестов события готовности к содержимому, и поэтому должно произойти несколько имитированных событий.
Тем не менее, это интересная проблема, потому что я видел пару виджетов, которые теперь предполагают, что вы включаете их через статические теги сценариев. Было бы неплохо, если бы они написали код, который был бы более полезен для разработчиков, обеспокоенных скоростью, но до тех пор, есть ли обходной путь? И / или мои предположения неверны?
Edit:
Поскольку первый ответ на вопрос, казалось, не соответствовал моей проблеме, я хотел прояснить ситуацию.
Речь идет о конкретной проблеме. Я не ищу еще один ленивый скрипт загрузки и не проверяю, загружены ли некоторые зависимости скрипта. В частности эта проблема имеет дело с
- внешние виджеты, которые вы не делаете
иметь контроль и может или не может
быть запутанным
- задержка загрузки
внешние виджеты, пока они
необходимы или по крайней мере, до
существенно после всего остального
загружен, включая другие отложенные элементы
- б / с как
виджет был написан, исключает
существующая, типичная ленивая загрузка
Парадигмы
Несмотря на то, что это эзотерика, я видел, как это произошло с парой виджетов - когда разработчики виджетов предполагают, что вы просто хотите добавить другой тег сценария внизу страницы. Я рассчитываю сэкономить эти 500-1000 мс **, хотя многочисленные исследования Yahoo, Google и Amazon показывают, что это важно для опыта вашего пользователя.
** Мои испытания с использованием головки молотка и личный опыт показывают, что в этом случае это будет моя экономия.