Javascript 如何跟踪AJAX GET请求&;使用谷歌分析下载PDF?

Javascript 如何跟踪AJAX GET请求&;使用谷歌分析下载PDF?,javascript,jquery,ajax,google-analytics,Javascript,Jquery,Ajax,Google Analytics,我通过jQuery get Ajax调用检索内容,然后将其添加到元素中。添加HTML代码没有任何问题,只是JS代码丢失了。我做错了什么?当我查看Firebug中的响应时,它仍然存在,只是没有添加到HTML元素中 我的Ajax请求: function get_overlay_content(path) { $.get(path, function(data) { $("#overlay_content").html(data).fadeIn(500);

我通过jQuery get Ajax调用检索内容,然后将其添加到元素中。添加HTML代码没有任何问题,只是JS代码丢失了。我做错了什么?当我查看Firebug中的响应时,它仍然存在,只是没有添加到HTML元素中

我的Ajax请求:

function get_overlay_content(path)
{
    $.get(path, function(data) { 
        $("#overlay_content").html(data).fadeIn(500); 
        $(function()
     {
        // do something 
     });
    });
}
<div id="imprint" class="overlay_box">
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXX-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
    <div id="overlay_close" onclick="close_overlay();"><img src="/2012/images/overlay_close.png" id=""></div>
# ETC
<div id="overlay_content">

<div id="imprint" class="overlay_box">

    <div id="overlay_close" onclick="close_overlay();"><img src="/2012/images/overlay_close.png" id=""></div>
    <div class="overlay_heading"><img src="/2012/images/heading_download.png" height="65"></div>

# etc.
Firebug中的响应:

function get_overlay_content(path)
{
    $.get(path, function(data) { 
        $("#overlay_content").html(data).fadeIn(500); 
        $(function()
     {
        // do something 
     });
    });
}
<div id="imprint" class="overlay_box">
    <script type="text/javascript">

      var _gaq = _gaq || [];
      _gaq.push(['_setAccount', 'UA-XXX-1']);
      _gaq.push(['_trackPageview']);

      (function() {
        var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
        ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
        var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
      })();

    </script>
    <div id="overlay_close" onclick="close_overlay();"><img src="/2012/images/overlay_close.png" id=""></div>
# ETC
<div id="overlay_content">

<div id="imprint" class="overlay_box">

    <div id="overlay_close" onclick="close_overlay();"><img src="/2012/images/overlay_close.png" id=""></div>
    <div class="overlay_heading"><img src="/2012/images/heading_download.png" height="65"></div>

# etc.
就这样。如果您想在使用jQuery的AJAXGET请求检索的页面上跟踪PDF下载(正如我所做的那样),只需将以下代码添加到部分(例如/partials/_download_pdfs.html)


$(文档).ready(函数(){
$(“.pdf_链接”)。单击(函数(){
_gaq.push([''设置帐户','UA-XXX-1']);
_gaq.push([''u trackPageview','/pdf/'+$(this.attr(“id”)]);
});
});

如果我理解正确,您正在使用AJAX获取HTML代码。 该代码块包含一个脚本标记,您希望脚本在请求完成后运行一个脚本。 不幸的是,它不是这样工作的,因为就DOM而言,这只是一个元素


我不知道为什么需要一个AJAX代码来运行google analytics,但如果它包含动态数据,只需让AJAX调用返回您需要的参数,并让一个函数在本地运行此代码。

我认为这与编码无关。可能html函数会过滤掉脚本。你能试试这个:
$(“#覆盖内容”).get(0).innerHTML=data它不会褪色,但它允许您查看是html方法还是淡入杀死了脚本。问题是我想跟踪PDF下载。带有pdf链接的列表通过AJAX请求检索。如果我只在主页上包含谷歌分析代码,我会得到错误“pageTracker未定义”。因此,我的想法是在加载的页面上再次添加谷歌分析脚本。我建议查看帮助我解决此问题的感谢Uzi。这只是我的愚蠢或疲劳。我描述了问题中的步骤,以便让每个人都明白。