LESS CSSとRetinaJsを使用して、背景画像を網膜画像にしようとしています。
RetinaJSユーザーガイドで提案されているように、次の内容のretina.lessファイルを含めました。
.at2x(@path, @w: auto, @h: auto) {
background-image: url(@path);
@at2x_path: ~`"@{path}".split('.').slice(0, "@{path}".split('.').length - 1).join(".") + "@2x" + "." + "@{path}".split('.')["@{path}".split('.').length - 1]`;
@media all and (-webkit-min-device-pixel-ratio : 1.5) {
background-image: url(@at2x_path);
background-size: @w @h;
}
}
.topMenu {
.at2x("../../resources/img/topMenuTitle.png");
}
Firefoxでテストすると、エラーが発生します。
b.value in undefined
in retina.less
@xxxxxxxxxx/resources/js/less-1.3.min.js:8
t@xxxxxxxxxx/resources/js/less-1.3.min.js:8
[...etc...]
Safari(iPhone 4)では:
'undefined' is not an object
in retina.less on line null, column 0:
NaN background-image: url(@path);
同じフォルダーにtopMenuTitle.png(320px x 40px)とtopMenuTitle@2x.png(640px x 80px)の両方があります。
何が問題になるのか考えてみませんか?