我只是好奇是否可以(或建议)在与 Google Analytics 的跨域链接上使用 _linkbypost() 而不是仅使用 _link() 以避免我遇到的问题 _link() 产生的长查询字符串。
_link() 使用 _GET 通过将一个巨大的乱码查询字符串附加到目标 url 来传递数据,这让我有些头疼:它阻止了我的缓存方案(它关闭了完全匹配的 url),使我的许多社交媒体小部件变得疯狂(这已被证明对我的业务非常重要),并且看起来很可怕和丑陋,我发现这确实会影响有多少用户信任您的网站。
因此,我希望通过 post 而不是 get 传递数据,我可以在不丢失干净有序的可缓存 url 的情况下获得相同的跟踪能力。但是由于我不太了解 post 是如何工作的,所以我不知道这是否可行,或者由于其他原因这只是一个非常糟糕的主意。
我知道 _linkbypost() 需要一个表单对象才能运行,所以我的计划是为每个跨域链接添加一个 onSubmit 函数,如下所示:
var crossLink = $(this).attr("href");
var formHTML = '<form id="crossForm" action="'+crossLink+'" method="post"></form>';
$('body').append(formHTML);
var crossForm = $('#crossForm');
_gaq.push(['_linkByPost', crossForm]);
return false;
假设一开始这不是一个坏主意,那么这种实现是否合理?