Как создать отслеживание script с помощью js и php?
Я хочу создать простое отслеживание script, чтобы предоставить своим клиентам. Что-то похожее на GA, но очень простое.
Требования
предоставить клиентам один и простой js script, например, Google Analytics
сделать большую часть логики внутри js файла, загруженного 3-м сайтом сайта с основного сайта
собрать в PHP информацию и сохранить ее
Что я еще не могу понять, каковы способы сделать это?
Google из того, что я вижу, загружает gif файл, сохраняет информацию и анализирует журналы.
Если я сделаю что-то подобное, посылая данные в файл php, перекрестная политика Ajax остановит меня, из того, что я помню.
Итак, что такое чистый способ сделать это? (Мне не нужен код, а только его логика)
Ответы
Ответ 1
Метод a - веб-ошибка:
Дайте пользователю следующее:
<img src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid" width="1" height="1" />
имеют php return header("content-type:image/gif");
и служат для них gif файлом для их усилий.
Метод b - script
Создайте php файл, который может анализировать параметры и вернуть его content-type:text/javascript
Попросите их загрузить его так:
<script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>
Если вы хотите, чтобы вы могли делать такие вещи, как
<script type="text/javascript">
var associateId = "12345";
var trackingPage="homepage";
</script>
<script type="text/javascript" src="http://www.yourserver.com/yourtracking.php?associateid=3rdpartyid"></script>
то в php есть такой код (смотрите вложенные кавычки)
$str = 'var url = "http://www.yourserver.com/moretracking.php?associateid="+associateId+';
$str .= '"&page="+trackingPage+"&ref="+escape(document.referrer);\n';
$str .= 'document.write(\'<img src="\'+url+\'"/>\');';
echo $str;
Ответ 2
Вы можете прочитать это (найти googling) о кросс-домене ajax и его возможных решениях... http://snook.ca/archives/javascript/cross_domain_aj/
Ответ 3
Ну, я использую некоторый php-код, который включен в мой script, который регистрирует Ip-адреса, и столько информации я могу получить с точки зрения сервера. Он сохраняет его в базе данных MySql. Я также использую Ajax script для отправки данных на PHP скрипт, данные в этом случае - Screen Heigth, и вы можете только получить клиентскую сторону.