| 
	
		
 Скрипт отображения веса картинки, помогите подправить 
		
		
		
		
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
var zDel = "http://vinrarus.ucoz.net/DDD.png";
var imgas = new Image();
imgas.src = zDel;
var zheight = imgas.naturalHeight;
var zwidth = imgas.naturalWidth;
//А дальше не родной код
var zsize = 0;
  var request;
  request = $.ajax({
    type: "HEAD",
    url: zDel,
    success: function () {
      var zsize = request.getResponseHeader("Content-Length");
      alert(zheight +'x'+ zwidth+'-'+zsize);
    }
  });
     alert(zheight +'x'+ zwidth+'-'+zsize);
</script><BR>БР
ШИИРИНАхВЫСОТА-ВЕС изображения, как видно в 1м сообщении все как нада, но за пределами функции переменная zsize не подхватывается чето. :-? Бонус: 1) как на ходу байты в килобайты превратить? 2) может как то более грамотно можно обьеденить эти 2 части кода?  | 
	
		
 Толи они в 2 потока как то обрабатываются... 
	 | 
	
		
 1) поделить на 1024 
	2) засунуть первую часть кода на место alert() второй части кода  | 
	
		
 kostyanet, 
	1) спасибо 2) в первом alert ломаются дополнительно и переменные ширины и высоты, во втором толку нуль Напоминаю что нужны все 3 рабочие переменные zheight, zwidth, zsize после этого кода.  | 
	
		
 За вас что ли засунуть? Ну, попробую: 
	
var getImageData=function(url,callback){
	var img_data={w:0,h:0,b:0};
	$.ajax({
		type: "HEAD",
		url:url,
		success: function () {
			img_data.b = this.getResponseHeader("Content-Length")/1024;
			var img = new Image();
			img.onload=function(){
				img_data.w=this.width;
				img_data.h=this.height;
				if(callback)
					callback(img_data);
				else
					window.img_data=img_data;
			};
			img.src = url;
		}
	});
};
/* usage */
getImageData('http://vinrarus.ucoz.net/DDD.png',function(d){
	alert(d.w+' '+d.h+' '+d.b);
});
 | 
	
		
 Цитата: 
	
 поэотму если картинка на домене отличному от текущего - ничего не будет) а переменные "zheight" и "zwidth" берутся не з ответа аякса, поэтому доступны  | 
	
		
 За 
	img_data.b = this не уверен, но верю что жикверя не должна требовать хардкода для обращения к собственному объекту внутри собственной же функции. Например в колбеке объекта XMLHttpRequest - this - он сам.  | 
	
		
 Цитата: 
	
  | 
	
		
 так работает - но только в пределах домена, 
	с домена "vinrarus.ucoz.net" нельзя послать запрос на "vinrarus.com" или например "google.com" PS: это никак не лечится! вариант есть только один - купить гугл и его домен :D 
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.1/jquery.min.js"></script>
<script type="text/javascript">
var zDel = "http://vinrarus.ucoz.net/DDD.png";
var imgas = new Image();
imgas.src = zDel;
var zheight = imgas.naturalHeight;
var zwidth = imgas.naturalWidth;
//А дальше не родной код
var zsize = 0;
  var request;
  request = $.ajax({
    type: "HEAD",
    url: zDel,
    success: function () {
      window.zsize = request.getResponseHeader("Content-Length")/1024;
    }
  });
  alert(zheight +'x'+ zwidth+'-'+zsize);
</script><BR>БР
 | 
	
		
 Цитата: 
	
 http://192.168.16.2 Но и там и там код работает в равных условиях. Цитата: 
	
 Цитата: 
	
  | 
| Часовой пояс GMT +3, время: 16:42. | 
		
  |