我可以将操作 URL 包装在 document.forms[0].action pageTracker._getLinkerUrl " "= 中吗?



我有一个不调用操作的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,这样新的cookie就不会被第三方预订引擎设置?我还没有找到更好(或更简单)的方法来做到这一点吗?

您可以尝试下面的代码片段。确保将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(); 
  }
}

相关内容

  • 没有找到相关文章

最新更新