将Image src设置为CDN URL

时间:2013-04-15 09:03:42

标签: jquery image src

这是我想要做的事情

我有一个jQuery UI对话框,其中包含大量图片,如下面的图片

<td><a id='ai42' class='ancico' title='Key'><img/></a></td>
<td><a id='ai52' class='ancico' title='Last'><img/></a></td>
<td><a id='ai62' class='ancico' title='Lock'><img/></a></td>

我想避免为每个图像指示一个完整的CDN网址 - 导致几百个字节的保存。所以我正在做的是:

在我执行的对话框的create:事件中

$('.ancico').each(function(ndx,anc){adjustSourceTo(ndx,anc);});

adjustSourceTo代码就像这样

function adjustSourceTo(ndx,anc)
{
 var sources = new Array('noicon','alert','arrow-d','arrow-l','arrow-r','arrow-u','back',
 'check','delete','forward','gear','grid','home','info','minus','plus',
 'refresh','search','star','address','clock','email','ffwd','first','key',
 'last','lock','next','phone','prev','record','redo','rewind',
 'trolley','unlock')
  var isrc = sources[ndx];             
  var src = 'http://url_to_cdn/images/{src}.png'.format({src:isrc}); 
  console.log($(anc).attr('src',src).attr('src'));
 }

我可以看到生成的URL是正确的,点击日志输出会将我带到图像中。但是,打开对话框时,图像仍然是空白的。我认为这可能是因为我没有为初学者指定占位符图像所以我尝试将我的HTML标记更改为

<img src='i.png'/> 

但无济于事 - 现在带有图像的锚点出现了但是卡在我的服务器上提供的i.png而不是来自CDN的真实服务器。

如果我能做到这一点,那么应用程序负载的节省将是非常重要的 - 对于那些可能能够告诉我在这里可能做错的人,我会非常感激。

0 个答案:

没有答案