这是我想要做的
我有一个带有大量图像的 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 url - 导致保存数百字节。所以我正在做的是:
在我所做的对话框的 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 的真实文件。
如果我能做到这一点,应用程序负载的节省将是显着的 - 我非常感谢任何能够告诉我我可能做错了什么的人。