| 
	
	
		
		
			
			 
				File API Чтение и обработка локального файла
			 
			
		
		
		
		Я чего-то не понимаю в обработке событий, видимо. Задача такая. Нахожу локальный файл .svg через <input...>. Затем загружаю его в виде субдокумента с помощью <object...>. Затем обрабатываю его, как я думаю, после загрузки.  
Если ставлю alert(...). перед ....add.EventListener("load".....), то все срабатывает прекрасно. Файл успевает подгрузиться и обработчик его обрабатывает. Если alert(...) нет, то обработчик не получает файл и ничего не работает. Вот код: 
 
<?xml version="1.0"?> 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" 
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
<html  
  xmlns="http://www.w3.org/1999/xhtml" 
  xmlns:xlink="http://www.w3.org/1999/xlink"> 
<meta charset="utf-8"> 
<head> 
  <title>sborka_14-12-31</title> 
</head> 
<body> 
  <p>sborka_14-12-31</p> 
 
<input type="file" onchange="LoadFile()"/> 
<object class="Shema" data="" width="1280" height="1024" type="image/svg+xml"></object> 
 
<script id="script" language="javascript" type="text/javascript" src="ANIMATOR_14-12-29.js"> 
//содержит функции обработки графики 
</script> 
  
<script id="script" language="javascript" type="text/javascript"> 
function LoadFile()  
{ 
	var infile    = document.querySelector('input[type=file]').files[0]; 
	var elm = document.querySelectorAll('.Shema')[0];  
	if(elm.data != undefined) elm.data=infile.name; 	 
 
	alert(' == Анимация? ==\n'+elm.data); 
	//без задержки загрузка не происходит 
	document.getElementsByTagName('object')[0].addEventListener("load", ANIMATION(elm.contentDocument), false); 	 
} 
</script>  
 
</body> 
</html> 
 
Уже голову просто сломал. Что я тут не понимаю? Как запустить обработчик ANIMATION(...) точно после завершения загрузки файла? 
		
	
		
		
		
		
		
		
	
		
			
			
	
			
			
			
			
			
				 
			
			
			
			
			
			
				
			
			
			
		 
		
	
	
	 |