gpt4 book ai didi

javascript - 如何在 PHP JSON 编码结果中包含谷歌分析?

转载 作者:可可西里 更新时间:2023-10-31 23:02:30 24 4
gpt4 key购买 nike

我有一个 php 页面,它将数组编码为 JSON 对象或 JSONP 回调,并简单地回显结果。因为这将成为一个可以直接访问的独立页面,所以我想收集见解并包括谷歌分析。

JSON编码的php页面:

<?php
$arr = array('country' => 'United States', 'city' => 'New York');

if(isset ($_GET['jsonp'])) {
echo $_GET['jsonp'] . '(' . json_encode($arr) . ')';
}
else {
echo json_encode($arr);
}
?>

jQuery 解码部分:

<script>
$.getJSON('https://geoip-db.com/json/geoip.php?jsonp=callback')
.done (function(location)
{
$('#country').html(location.country);
$('#city').html(location.city);
});
</script>

Google 指南建议创建一个单独的 php 文件,其中包含 javascript 跟踪代码,并将其包含在您要跟踪的所有 php 页面中。像这样的东西:

<?php include_once("analyticstracking.php") ?>

通过这种方式,跟踪器可以正常工作,但是当尝试解码生成的 JSON 对象时,JQuery 部分因语法错误而中断,这是由注入(inject)的跟踪器脚本引起的。 php 编码页面也回显跟踪器脚本,这会产生无用的 JSON 结果。

有什么建议吗?

最佳答案

我不确定我是否正确理解了您的问题,但您始终可以通过 measurement protocol 使用服务器端代码调用 Google Analytics。 :

$url = "v=1&t=pageview&tid=UA-39221247-1&cid=5555&dp=%2Fmy%2Fpage";
fopen($url);

“v”是版本,“tid”是帐号,“cid”是客户端 ID,“dp”是页面的文档路径。

这样,解析后的输出中就不会出现会破坏 jQuery 代码的跟踪代码。

如果您想将各个 View 聚合到一个 session 中,您需要自己维护调用之间的 cid。

请注意,这与基于 Javascript 的跟踪不能很好地结合(即使您使用现有 GA cookie 中的客户端 ID,它也会在 GA 中启动新 session )。

关于javascript - 如何在 PHP JSON 编码结果中包含谷歌分析?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36462412/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com