var script2 = document.createElement( 'script' );
script2.value = "var _gaq = _gaq || [];_gaq.push(['_setAccount', 'UA-xxxxxx-1']);_gaq.push(['_setDomainName', 'http://www.widget.devserver2012.com']);_gaq.push(['_setAllowLinker', true]); _gaq.push(['_trackPageview']);(function() {var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);})()";
$('head').prepend(script2);
我正在使用此代码将JavaScript Analytics从javascript小部件嵌入到文档头中,用户将嵌入到他们的页面中。但谷歌分析是否没有收到数据。
答案 0 :(得分:0)
使用script2.text = "..."
或script2.innerHTML = "..."
代替script2.value = "..."
。
这是一个jsfiddle,使用以下代码测试所有三个作业:http://jsfiddle.net/7nsGp/
var script2 = document.createElement( 'script' );
script2.value = 'alert("assign value worked");';
$('head').prepend(script2);
var script1 = document.createElement( 'script' );
script1.text = 'alert("assign text worked");';
$('head').prepend(script1);
var script0 = document.createElement( 'script' );
script0.innerHTML = 'alert("assign innerHTML worked");';
$('head').prepend(script0);
在Chrome和Firefox上,分配了.text
或.innerHTML
,但未分配.value
。
建议:通过在测试期间将alert('script ran')
附加到脚本文本的末尾来验证脚本代码段是否正在执行。
script2.value = "var _gaq = _gaq || []; ... ; alert('script ran');";