2012-03-04 2 views
2

Чтобы дать быстрый пример моего вопроса, рассмотрите JS-файл, предоставленный Google, чтобы захватить данные Google Analytics, которые мы вставляем в наши файлы. Как этот JS-файл получает все данные? Я хочу знать, как создавать такие JS-файлы, которые я могу предоставить другим, которые затем могут запускать их на своих собственных сайтах, и тем не менее хранить данные на моем сервере веб-сайта. Короче говоря, они копируют только 1-2 строки JS на своих страницах, и вся предполагаемая функциональность будет работать на их веб-сайте, но данные будут храниться в моей базе данных веб-сервера.Как создать файл для развертывания JavaScript

Как я могу прикрепить функциональность к JS-файлу? Я имею в виду, как я могу указать JS-файл, собирать ли данные аналитики или показать форму и т. Д. Я использую PHP для обработки на стороне сервера. Я пока не нашел никакой хорошей информации об этом.

Edit 1:

Я хотел бы добавить, что функциональность НЕ ограничивается только аналитики. Это может быть даже так же просто, как показать контактную форму, которая отправляет электронную почту получателям и т. Д.

ответ

1

Я думаю, что вы можете найти ответ на свой вопрос здесь: How to send data to remote server using Javascript

Короче говоря, вы будете иметь возможность передавать данные на другой домен, используя JSONP. Вы можете достичь этого также с помощью метода j Query's, $.getJson.

+1

Вы можете использовать JSONP, но поскольку ответ с сервера не требуется, JSONP не требуется. Google Analytics просто запрашивает изображение GIF с данными, закодированными в URL. – jfriend00

+0

Спасибо, что выглядит многообещающе. Я подробно рассмотрю это. – Devner

2

В Google Analytics есть файл javascript на стороне клиента, который владелец сайта помещает ссылку на свою веб-страницу. Когда этот javascript-файл запускается, он собирает информацию о текущей странице, а затем делает запрос сервера Google с информацией, закодированной в запросе, и сервером Google, который записывает эту информацию в свою базу данных. Поскольку ajax-вызовы подвержены ограничениям одного и того же происхождения, запрос Google на их сервер фактически предназначен для изображения GIF с данными, закодированными в URL-адресе.

Вот объяснение Google о том, как это работает: http://code.google.com/apis/analytics/docs/concepts/gaConceptsOverview.html

Чтобы создать что-то подобное для ваших клиентов, вы должны создать соответствующий Javascript файл, разместить его на своих серверах, выдают инструкции по установке в их веб-страницы и создавать правильные PHP-скрипты для записи информации, которая приходит, когда запрашивается GIF (по-видимому, вам нужно будет выполнить некоторую конфигурацию веб-сервера, чтобы ваши скрипты PHP могли запускаться по запросу GIF).

+0

Спасибо за указатели. Я могу создать веб-сайт на основе PHP и JS, но я не знаю, как развернуть только JS-файл и даже выполнить PHP, используя тот же и, следовательно, мой вопрос. – Devner

0

Добавляя что-то вроде

<script src="http://myeviltrackingsite.com/track.js"></script> 

браузер посетителя попросит сервер для track.js. Когда вас спросят, ваш сервер получит обычный HTTP-заголовок от посетителя и, конечно, его IP. Этот HTTP-заголовок содержит всю необходимую информацию, такую ​​как язык посетителя, тип браузера, который он использует. Чтобы отслеживать географическое местоположение посетителя, вы можете использовать IP-адрес посетителя и сделать reverse IP lookup. имеются свободные базы данных геоданных.

+0

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

+0

Если вы этого не понимаете, начните с основ PHP. В заголовках запросов синтаксического анализа или получении IP-адресов посетителей нет никакой магии. – Basti

Смежные вопросы