我正在使用加载图片地图的Google静态地图:
<img src="http://maps.google.com/maps/api/....&someparameter&someparameter&scale=1">
注意最后的"scale=1"
参数。我只需要在带有WebKit的高密度显示器上用"scale=2"
替换它,以便从Google加载高分辨率版本。
我在DOM加载时使用这个查找/替换脚本的条件,它不起作用。 window.devicePixelRatio在WebKit中工作(已测试);但if条件中的函数可能有问题。
$(function()
{
if (window.devicePixelRatio >= 1.5)
{
$('img[src*="scale=1"]').each(function() {
var newSrc = $(this).attr('src');
newStr = newSrc.replace('/scale=1/','scale=2');
$(this).attr('src', newSrc);
});
}
else
{
}
});
感谢您的建议!
答案 0 :(得分:4)
.replace()接受一个RegExp或一个字符串,你给它一个看起来像RegExp的字符串:
newStr = newSrc.replace('scale=1','scale=2');
答案 1 :(得分:4)
看起来您正在获取src
属性值,将其存储到名为newSrc
的变量中,然后替换scale=1
并将结果存储在newStr
中,那么您是将图片的src
属性设置为原始值newSrc
吗?
不应该是:
$('img[src*="scale=1"]').each(function() {
var newSrc = $(this).attr('src');
newSrc = newSrc.replace('scale=1','scale=2');
$(this).attr('src', newSrc);
});