0
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);

我正在使用此代码将 Google Analytics 从 javascript 小部件嵌入到文档头中,用户将嵌入到他们的页面上。但是谷歌分析没有接收数据。

4

1 回答 1

0

使用script2.text = "..."orscript2.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');";
于 2012-11-28T18:55:28.313 回答