我正在尝试为JSON对象中的每个成员创建一个动态生成的缩略图网格。
每个成员都有一个'title'键和值,当加载网页时,会生成一个基于每个成员标题的URI。此URI成为backbone.js对象中的'img'属性,该对象在模板中用于呈现。 (见底部的代码)。
我的问题是其中一些标题有重音标记,当网站加载时,缩略图路径中的重音标记变为“x%CC%81”,其中“x”是重音元音。这只发生在我的网络服务器(Apache 2.2.6)上 - 当使用MAMP(我相信它是Apache 2.2.26)在本地测试网站时,事情很有效。
我在创建字符串路径时尝试使用decodeURI(),但无济于事。因此,我认为它与服务器有关(因为它在MAMP中工作但在我的网络服务器中不起作用),但我想不出为什么。对我来说,更可能的罪魁祸首是CSS无法解析重音符号。
这是为每个项目生成uris的backbone.js代码的snippit:
//For each model in the collection, generate the image uri,
//where item.getHyphTitle() is the title that may contain accent marks
_.each(this.collection.models, function(item){
item.set("img", decodeURI('../images/thumbs/' + item.getHyphTitle() + '-thumb.jpg'));
renderContact(item);
},this);
以下是使用的模板部分:
<div class="work-background" style="background-image:url('<%= img %>');"></div>
我希望这很明确 - 请提出任何可能需要澄清的问题。提前感谢您抽出宝贵时间帮助我。
答案 0 :(得分:0)
看起来您可能遇到编码错误。一些操作系统支持你要做的事情(我认为OSX),而其他人则不支持。以下是有关此问题的详细信息的链接: