Я использую следующий надрез на Javascript от другого SO ответа:Попытки получить доступ к переменным вне функции в Javascript
var _URL = window.URL || window.webkitURL;
$("#file").change(function (e) {
var file, img;
if ((file = this.files[0])) {
img = new Image();
img.onload = function() {
alert(this.width + " " + this.height);
};
img.src = _URL.createObjectURL(file);
}
});
Я не могу понять, как получить доступ к этим this.width и this.height переменного вне функции. Я установил их равными существующим переменным, а переменные всегда равны 0 или null.
Снаружи, где? Они не будут давать вам нужные значения, пока изображение не будет загружено, следовательно, обработчик 'onload', и я уверен, что вам нужно добавить изображение в DOM для его загрузки. –
создайте «глобальную переменную» и присвойте этому 'this.width' и' this.height'. : P –
'this' относится к загружаемому объекту изображения. функция «onload» выполняется асинхронно. –