动态JS图像不会在IE中加载

时间:2014-05-19 17:10:40

标签: javascript internet-explorer

我正在从这样的JS文件中提取:

<script>
 //<![CDATA[
 (function() {
  function asyncLoad() {
    var urls = ["https://www.domain.com/tracker/script_tag/?shop=dev"];
    for (var i = 0; i < urls.length; i++) {
      var s = document.createElement('script');
      s.type = 'text/javascript';
      s.async = true;
      s.src = urls[i];
      var x = document.getElementsByTagName('script')[0];
      x.parentNode.insertBefore(s, x);
    }
  }
  window.attachEvent ? window.attachEvent('onload', asyncLoad) : window.addEventListener('load', asyncLoad, false);
})();

//]]>
</script>

在这个script_tag / JS文件中,我有这个:

var image = new Image(); 
document.body.appendChild(image);
image.src = "https://www.domain.com/tracker/image?shop=dev&i=NULL&sci="+getCookie('cart');
image.setAttribute('style', 'float: right;');

问题是此代码适用于Chrome和Firefox,但不适用于IE。我一直在IE 10中进行大部分测试,似乎只是忽略了这个JS。我不认为这是一个缓存问题,因为getCookie('cart')参数一直在变化。

谢谢!

1 个答案:

答案 0 :(得分:0)

 <script src="<insert name here>.js" type="text/javascript" async></script>

而不是脚本标记和

 var urls = ["https://www.domain.com/tracker/script_tag/?shop=dev"];
 for (var i = 0; i < urls.length; i++) {
   var image = new Image(); 
 image.src = "https://www.domain.com/tracker/image?shop=dev&i=NULL&sci="+getCookie('cart');
 image.setAttribute('style', 'float: right;');
 document.body.appendChild(image);
}
文件中的