Jquery mobile 这段代码跟踪GA中的JQM页面。如何跟踪页面和查询参数?

Jquery mobile 这段代码跟踪GA中的JQM页面。如何跟踪页面和查询参数?,jquery-mobile,google-analytics,Jquery Mobile,Google Analytics,我找到了这个跟踪页面的代码,但我也有查询参数 例如,我的url可能看起来像page.htmlone?d=firstparam&n=secondparam 此代码跟踪页面,但我丢失了查询参数: $(document).on('pageshow', '[data-role=page], [data-role=dialog]', function (event, ui) { try { if ($.mobile.activePage.attr("data-url")) {

我找到了这个跟踪页面的代码,但我也有查询参数

例如,我的url可能看起来像page.htmlone?d=firstparam&n=secondparam

此代码跟踪页面,但我丢失了查询参数:

$(document).on('pageshow', '[data-role=page], [data-role=dialog]', function (event, ui) {
    try {
        if ($.mobile.activePage.attr("data-url")) {
            ga('send', 'pageview', $.mobile.activePage.attr("data-url"));         // remove quotes
        } else {
            ga('send', 'pageview');
        }
    } catch (err) {}
});
代码来自此帖子:

GA将像一个一样显示页面,但我丢失了page.html和查询位

没有代码更改标准GA跟踪只提供page.html和其他内容


如何获取整个:page.htmlone?d=firstparam&n=secondparam?

您可以尝试遵循以下步骤。基本上,您需要在发送pageview点击时使用所需的信息重新构建默认页面,从而覆盖默认页面。请注意,有些问题已经暴露出来了

谢谢。这似乎是从零开始的。我希望有人已经遇到了这个挑战,可以提供一个代码示例。jQuery Mobile会忽略散列后的任何参数,因此page.htmlone?d=firstparam&n=secondparam是page.htmlone。获取完整url的唯一方法是在PageContainerBeforChange或PageContainerBeforTransmission期间。谢谢,但用这些替换pageshow不会改变任何事情。您可能没有正确使用这两个事件。您可以将ui.toPage替换为ui.absUrl。检查控制台的结果。和.hash与.filename一起表示文件名、hash和参数。谢谢。我可以使用上面的代码向GA发送一个新的url字符串,使用这个mod:newURL=location.pathname+location.search+location.hash,然后使用GA'send','pageview',newURL.replace,/;。问题是,GA拒绝将d或n识别为查询参数,即使在去掉片段字符后也是如此。我猜location.search不会返回任何结果。因为正如我所说的,散列之后的任何参数都不被视为查询字符串,并且完全被忽略。