我有一个不会调用操作的Web表单,但是当提交的内容被发送到Javascript函数时,实际上是将信息推送到第三方预订引擎,我想传递cookie。基本上表单会被发送到:
<a href="javascript:sendToCBE();"><img src="#"></a>
sendToCBE功能如下:
function sendToCBE(){
if (validateForm()){
setHidden();
document.forms[0].target="_blank";
document.forms[0].action="http://partners.kcdataservices.com/resort/custom/buildMyOwn.jsp";
document.forms[0].submit();
是否可以将其更改为
function sendToCBE(){
if (validateForm()){
setHidden();
document.forms[0].target="_blank";
document.forms[0].action="pageTracker._getLinkerUrl(http://partners.kcdataservices.com/resort/custom/buildMyOwn.jsp)";
document.forms[0].submit();
为了进行跨域跟踪并传递cookie,以便第三方预订引擎不设置新的?是否有更好(或更简单)的方法来做到这一点,我还没有找到?
答案 0 :(得分:0)
您可以尝试使用此代码段。确保将GA相关代码放在try catch中,如果它没有在网站上设置,表单仍然有用。
function sendToCBE(){
var action = "http://partners.kcdataservices.com/resort/custom/buildMyOwn.jsp";
try{
var tracker = _gat._getTrackers()[0];
action = tracker._getLinkerUrl(action);
}catch(e){
// _gat doesnt exist or there is no tracker setup. Just ignore it and continue
}
if (validateForm()){
setHidden();
document.forms[0].target = "_blank";
document.forms[0].action = action;
document.forms[0].submit();
}
}