我尝试使用Colorbox使用Backbone.js进行网站构建。我有一个像这样的简单图像标签:
<a class="gallery" href="/document/123"><img class="attachment-preview" src="/document/123" /></a>
url / document / 123显示(简单的png)图像。 123是图像的id,服务器从DB获取base64编码图像,对其进行解码并显示它。当我在浏览器中输入example.com/document/123时,它会正确显示图像,并且图像也会正确显示我粘贴在上面的标记。
然后,当我单击图像时,颜色框打开,只显示我猜的是二进制数据:
�wQH*��:�R��hc�:+{�����d��j���}7u($��@�����[�6Ym}���^(_�i�~�H�>�� etc..
所以我的问题是:这怎么可能?更重要的是:我该如何解决?欢迎所有提示!
答案 0 :(得分:5)
Colorbox将通过扩展名url自动检测href目标的内容类型。例如,如果url target是具有.jpg,.png或.gif扩展名的文件,则颜色框会将内容显示为图像。网址&#34; / document / 123&#34;将被视为html内容,即使它返回图像。
初始化colorbox插件时,可以通过添加photo:true属性来解决此问题。
$("a").colorbox({photo:true});
<强>截图:强>