私はHTML test page for this issue hereを持っています。なんらかの理由でMobileSafariが、の半分の値を持つ1700ピクセル以上の画像のImage.width/height
プロパティを報告しています。つまり、JPGのwidth
プロパティは2000であるが、MobileSafari JavaScriptでは1000とレポートされます。同じコードを1700ピクセル幅の画像で試してみると、正しい幅が得られます。MobileSafariがJavaScript経由で正しい画像サイズ情報を返さない
The test私は2つの画像(異なる画像で同じ画像)をロードし、JavaScriptのサイズ値を表示しました。私が試した中で:
- クロム22、Safariの5.1.7は、Firefox 15.0.1のMac OS X 10.6.8(正しいサイズ)
- iOSシミュレータ4.3 SDK 3.2(間違ったサイズ)
- のiPad内のすべてのiOSの5.1(間違ったサイズ)のiOS 5.1(間違ったサイズ)
と
テストはここにある:http://still-island-1941.herokuapp.com/sizetest.html
これはJavaScriptコードである:
var imgBig, imgSmall;
function init() {
imgBig = new Image();
imgBig.onload = handleBig;
imgBig.src = "/images/size.jpg";
imgSmall = new Image();
imgSmall.onload = handleSmall;
imgSmall.src = "/images/test1.jpg";
document.getElementById("browser").innerHTML = navigator.userAgent;
}
function handleBig() {
document.getElementById("dimensionsBig").innerHTML = imgBig.width + "x" + imgBig.height;
document.getElementById("testBig").src = imgBig.src;
}
function handleSmall() {
document.getElementById("dimensionsSmall").innerHTML = imgSmall.width + "x" + imgSmall.height;
document.getElementById("testSmall").src = imgSmall.src;
}
これは、HTMLコードである:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>MobileSafari image dimensions test</title>
</head>
<body onload="init()">
<p>your browser: <strong><span id="browser"></span></strong></p>
<p>big image dimensions: <strong><span id="dimensionsSmall"></span></strong> (should be 1700x1134)</p>
<img id="testSmall" />
<p>small image dimensions: <strong><span id="dimensionsBig"></span></strong> (should be 2000x1334)</p>
<img id="testBig" />
</body>
</html>
を制限しますロードィ画像が3000px四角で、iOSのJavascriptがオンロードイベントが正常に終了したと報告していましたが、その時点の報告された高さと幅はゼロでした。私は同じ問題があると思います。 –