Как создать внешний код JavaScript для таких пользователей, как JS-код Google Analytics? - PullRequest
0 голосов
/ 29 июня 2011

Я начинаю проект, в котором мне нужно создать внешний код JavaScript, чтобы пользователи могли вводить их на свой веб-сайт (как они делают с помощью фрагмента Google Analytics).Я знаю немного javascript с помощью JQuery, но я не уверен, как бы я начал.

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

Ответы [ 3 ]

0 голосов
/ 29 июня 2011

Просто предоставьте им файл js для включения в заголовки.Не изменяйте глобальную область видимости, потому что вы не знаете, что они делают.Обычно это обеспечивается с помощью замыкания:

(function(){
    // Put your code here

    window.yourLibName = someObject;
})();

Единственный код, который они могут использовать в глобальной области видимости, - это yourLibName, все остальное хранится в пределах вашей блокировки.

Затем вы можете предоставитьим пример кода для вызова вашего инструмента с их веб-страницы.Что-то вроде:

<script type="text/javascript"><!--
yourLibName(someParameters);
//-->
</script>

Этот метод приведет к чему-то чистому и пригодному для использования на большинстве веб-сайтов.

Кроме того, избегайте использования таких библиотек, как jQuery, в таком решении, так как это может привести к ошибкамв клиентском javascript, особенно если он использует другую версию jQuery или другую библиотеку, такую ​​как mootoools.

0 голосов
/ 29 июня 2011

Какой-то базовый принцип

  1. делает ваш код как можно меньше.

  2. Не зависит от библиотеки, такой как Jquery.Это легко создаст конфликт на стороннем сайте.

  3. сделает ваш скрипт загруженным асинхронным

  4. оставит некоторый интерфейс, чтобы другие могли делать что-либо.пользовательские настройки для вашего кода.

  5. Не добавляйте слишком много глобальных переменных.Попробуйте использовать пространство имен для написания вашего кода.

0 голосов
/ 29 июня 2011

С технической точки зрения это достигается так же, как и включение статического файла JS на ваш собственный сайт - с помощью тега script.Единственное отличие состоит в том, что источник вашего файла JS находится в другом домене, чем ваш веб-сайт.

Что касается фактического содержимого файла JS, совет на него гораздо сложнее дать, поскольку ваш вопрос слишком косой.Единственное, что я могу предложить, это то, что

1) Вы не можете зависеть от сайта, включая любые зависимые библиотеки, например jQuery

2) Загрязнять глобальное пространство имен как можно меньше.В идеале это будет только один объект в глобальном пространстве имен со всем вашим кодом, живущим под ним.

...