2011-05-26 59 views
0

我试图在“成功”页面与表单页面相同的页面(转发到同一页面并设置消息)时动态触发Google adwords转换。所以我设置了消息并用javascript检查,然后加载adwords转换js。下面的代码:未装载mootools资产

<script type="text/javascript"> 
     //<![CDATA[ 
     window.addEvent('domready', function() { 
      var convmessage = null; 
      convmessage = $('message'); 

      if(!!convmessage) { 
       console.log("yo"); 
       if ($('message').getChildren()[1].innerText){ 
        console.log("yoyo");   
        var google_conversion_id  = 1234; 
        var google_conversion_language = "en-US"; 
        var google_conversion_format = "1"; 
        var google_conversion_color  = "ffffff"; 
        var google_conversion_label  = "Label"; 

        var myScript = Asset.javascript('http://www.googleadservices.com/pagead/conversion.js', { 
         id: 'myScript', 
         onLoad: function(){ 
          console.log("loaded"); 
         } 
        }); 

       } 
      } 

     }); 
     //]]> 
    </script> 

当我提交表单,我的控制台日志读取 yo yoyo 但从来没有显示loaded消息。所以看起来该脚本应该被加载,但从来没有,即使脚本(显然)正确执行。

有没有关于使用mootools资产函数或其他原因导致脚本未加载的问题?

谢谢

+0

几件事情。资产运作。问题在于你正在加载的这个脚本 - 从简单的角度看,它不能被延迟加载,因为它没有document.write,而且需要上下文来编写。此外,'var google_conversion_id ='将被作用域,需要是全局的('window.google_conversion_id') - 换句话说,就是按照自己的方式或高速公路。 – 2011-05-26 15:36:36

+0

感谢dimitar--我将资产负载移至if语句之外,因此无论是否设置了变量,都会将其加载,并将变量设置为全局变量。我很感激帮助。 – julio 2011-05-26 16:09:44

回答

0

我只是在JS小提琴上检查这个功能,它对我来说工作得很好。只是没有你的脚本。

它看起来像谷歌强制下载脚本,它看起来像打破了mootools脚本。我会尝试在您自己的服务器上托管该脚本或使用另一个脚本。

你可以看到我在这里: http://jsfiddle.net/9h8Zx/1/