Загружать JavaScript только при необходимости (по клику) - PullRequest
0 голосов
/ 20 января 2011

Я использую виджет addthis на своем сайте:

<!-- AddThis Button BEGIN --> 
<a class="addthis_button" href="http://www.addthis.com/bookmark.php?v=250&amp;username=abcdefg" rel="nofollow"> 
<img src="http://s7.addthis.com/static/btn/v2/lg-share-en.gif" width="188" height="24" alt="Bookmark and Share" style="border:0"/></a> 
<script type="text/javascript" src="http://s7.addthis.com/js/250/addthis_widget.js"></script> 
<!-- AddThis Button END --> 

Теперь javascript addthis_widget.js полезен только тогда, когда кто-то действительно использует кнопку «Поделиться».Как я могу гарантировать, что он не загружается каждый раз, а только когда кто-то нажимает на кнопку «Поделиться»?

Я нуб в javascript, поэтому некоторые примеры кода будут высоко оценены:)

ДОБАВЛЕНО:

Я хочу избежать использования jquery или других библиотек, потому что, как вы можете себе представить, я пытаюсь сократить время загрузки / количество запросов / данных на моих страницах.

спасибо

Ответы [ 2 ]

2 голосов
/ 20 января 2011

Простой ответ: не беспокойтесь.

То, что вы просите, возможно , и существует множество инструментов для загрузки скриптов, но это не главное,Там скрипт настраивает кнопку так, чтобы она была кликабельной в первую очередь.

Если вы действительно хотите загружать скрипт, только если кто-то нажимает на кнопку, вам нужно:

  • Сначала добавьте свой собственный код, чтобы обнаружить щелчок, и прекратите перенаправление браузером на href по умолчанию
  • Затем загрузите скрипт, что приведет к заметной задержке для пользователя
  • Затем вызовите правильное поведение в этом сценарии.Я предполагаю, что скрипт является внешним, и поэтому, вероятно, не предназначен для такой работы без каких-либо изменений.

Извините, если это не тот ответ, который вы ищете, но если этот скрипт нефактически вызывая некоторые задержки, тогда действительно, не беспокойтесь:).

(Однако вы можете добавить этот скрипт в конец вашего собственного файла JS и загрузить один скрипт в конце вашего <body>).

0 голосов
/ 20 января 2011

Простым решением будет создание тега сценария, когда пользователь нажимает на ссылку и размещает на сайте. Можете ли вы помочь внешним библиотекам или фреймворкам, таким как jQuery, чтобы помочь вам?

...