我有一个问题,这个问题在过去的几天一直令我不安。我必须通过添加脚本标记来实现对我的网站的跟踪,如下所示。
<script src="domain">
但是,一旦javascript事件被触发,我需要附加脚本标记。我做了一些研究,发现这可以使用jQuery .getScript()函数来实现。示例代码如下所示。
$('body').bind("success", function(e, data) {
// Call for the tracking scipt here
$.getScript("domain", function() {});
});
我的问题是加载的脚本包含以下代码:
document.write(<img src='domain'/>);
不幸的是这段代码没有被执行,(我猜测,因为在我附加脚本时已经加载了DOM,document.write()函数将无效。)我也尝试使用原生的javascript代码,如图所示以下无济于事。
var body = document.getElementsByTagName("body")[0];
var script = document.createElement('script');
script.type = "text/javascript";
script.src = "domain";
body.appendChild(script);
目前,我已经设法通过将scipt标记放在单独的页面中然后从触发的JS事件中的不可见的iFrame中加载页面来实现此目的。我真的不喜欢这个想法,所以任何帮助都会受到赞赏。
答案 0 :(得分:1)
您的代码应该有效。但我怀疑它是否适用于没有引号的所有浏览器。所以给出
document.write("<img src='http://www.google.co.in/images/srpr/logo3w.png'/>");
或者你可以试试jQuery
$("<img/>").attr("src", "http://www.google.co.in/images/srpr/logo3w.png").appendTo("body");
我建议添加div
作为图片的容器
<div id="container"></div>
然后在动态脚本中使用jQuery或palin javascript添加图像。
$("<img/>").attr("src", "http://www.google.co.in/images/srpr/logo3w.png").appendTo("#container");
或
var container = document.getElementById("container");
var img = document.createElement("img");
img.src = "http://www.google.co.in/images/srpr/logo3w.png";
container.appendChild(img);