Загружать javascript только при необходимости (по клику)

Я использую виджет 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 или других библиотек, потому что, как вы понимаете, я пытаюсь сократить время загрузки/количество запросов/данных на своих страницах.

Благодарность


person Community    schedule 20.01.2011    source источник


Ответы (2)


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

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

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

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

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

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

person David Tang    schedule 20.01.2011
comment
Хорошо сказано и понятно объяснено - person Clyde Lobo; 20.01.2011

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

person polarblau    schedule 20.01.2011
comment
Спасибо, я хочу избежать jquery и т.д. - person ; 20.01.2011
comment
Что ж, как сказал Box9 — это можно сделать, но он очень хорошо объясняет, почему «не делать этого». - person polarblau; 20.01.2011