我有一个客户谁是使用的形式,链接到一个预订引擎在不同的域。然而,他们并没有使用传统的编码形式,可以说:
<div id="qs" align="center">
<div align="center"><img src="images/qs_title.gif" alt="Quick Search">
<table width="200" border="0" cellpadding="0" cellspacing="0">
<!--<form method="post">--><form method="post">
....
<td width="35%" valign="bottom"><div align="left"><a href="javascript:sendToCBE();"><img src="quicksearch/continue-buttom_dreams.gif" alt="Continue" width="83" height="24" border="0" ></a></div></td>
因为表单是由JavaScript文档CBE管理的,所以使用getLinkerURL代码进行修改:
// JavaScript Document
function popup_no_status(loc)
{
var windowW=1000
var windowH=700
s = "width="+windowW+",height="+windowH+",status=yes, resizable=yes, scrollbars=yes";
mywin = window.open(pageTracker._getLinkerUrl(loc), "CBE", s);
mywin.focus();
}
我已经被告知这应该工作,但它似乎没有传递cookie。目标/域页面上确实有pageTracker._setAllowLinker(true);
代码。但是,只有目标页面上有setAllowHash(false);
代码。域1(我想传递cookie的域)也需要setAllowHash(false);
代码吗?我不知道我错过了什么。cookie没有被传递,所以我从第一个域名得到一个推荐cookie。什么好主意吗?所有的见解是非常赞赏!
我是stackoverflow的新手,我对这个问题没有足够的声誉评论来澄清它,所以如果我违反了任何礼仪规则,我很抱歉,因为这更多的是试图帮助而不是实际的答案。
-
新弹出窗口的url是否有附加的跟踪参数?cookie是基于这些参数创建的,所以如果这没有发生,那就是你需要修复的。
-
如果它们存在,那么可能是您的GA设置在第二个域上的问题。
如果不存在,添加:
console.log('loc: ' + loc');
后:mywin = window.open(pageTracker._getLinkerUrl(loc), "CBE", s);
被记录的url应该附加跟踪参数。如果不是,那么你的问题是第一个域名。
- 如果参数在loc url中,那么你应该看到在这一点之后发生了什么-也许你有一个重定向或其他东西剥离参数。
顺便说一句,我已经使用已弃用的_setAllowHash进行了跨域跟踪,它没有引起问题,所以我怀疑这是一个问题。