我有脚本,我希望我的网站上的访问者在加载网页时运行。它看起来像这样:
window.onload = function(){
var pxl=document.createElement('img');
pxl.setAttribute('src', 'http://localhost:8080/getTrackingPixel')
document.body.appendChild(pxl);
}
大多数情况下,源返回图像并且工作正常。但是,有时它会返回:
<html><body style="background-color:transparent"></body></html>
我无法真正改变它有时可能无法返回图像的事实。如何更改javascript以便它可以处理html响应而不会出现任何错误?我可能有可能预测它何时发生 - 但我还没有设法找到一个好方法来请求源并返回html。
答案 0 :(得分:1)
您可以使用javascript Image
对象来实现它,与createElement
方法不同,它允许您在在DOM中插入img之前获取src url 。
如果加载的内容不是img,onload
对象的Image
事件将不会触发。
这是:
window.onload = function(){
var pxl = new Image();
pxl.onload = function(){
// is IMG
document.body.appendChild(pxl);
}
pxl.onerror = function(){
// is not IMG
// Meaning in your case : <html><body style="background-color:transparent"></body></html>
}
pxl.src = 'http://localhost:8080/getTrackingPixel';
}
(请注意,您的代码也错过了semicolon ";"
第4行)