| 
	| 
	
	| 
		
	| 
			
			 
			
				26.08.2012, 23:54
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 26.08.2012 
						Сообщений: 13
					 
		
 |  |  
	| Но все же, подскажите правильное решение! Приведенный выше код работает, но на webkit выводит(и это понятно!), только путь к файлу не запуская его... Необходимо запустить найденную веб-страницу! Браузер и так сильно "тормозит", ресурсы ОС минимальные! Подскажите лаконичное решение!!! |  |  
	| 
		
	| 
			
			 
			
				27.08.2012, 08:43
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| 
	
 
	| Сообщение от Stef |  
	| но на webkit выводит(и это понятно!), только путь к файлу |  
	
 
<input type="file" onchange="alert(this.value)">
 
вы видели этот путь, это не реальный путь к файлу: максимум оттуда можно вычленить имя диска и название файла |  |  
	| 
		
	| 
			
			 
			
				27.08.2012, 20:42
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 26.08.2012 
						Сообщений: 13
					 
		
 |  |  
	| А вот такой код - работает на движке WebKit: 
<!DOCTYPE html>
<html>
 <head>
<title></title>
</head> 
<input type="file" id="files" name="files[]" multiple />
<output id="list"></output>
<script>
  function handleFileSelect(evt) {
    var files = evt.target.files; // FileList object
    // files is a FileList of File objects. List some properties.
    var output = [];
    for (var i = 0, f; f = files[i]; i++) {
      output.push('<li><strong>', escape(f.name), '</strong> (', f.type || 'n/a', ') - ',
                  f.size, ' bytes, last modified: ',
                  f.lastModifiedDate.toLocaleDateString(), '</li>');
    }
    document.getElementById('list').innerHTML = '<ul>' + output.join('') + '</ul>';
  }
  document.getElementById('files').addEventListener('change', handleFileSelect, false);
</script>
</html>
Подскажите, как можно его минимизировать, чтобы запускались только html файлы? 
P.S. Кстати, по предыдущему примеру -"перетаскивание" файла из окна поиска, в окно браузера - запускает его, т.е. выбранная веб-страница открывается! |  |  
	| 
		
	| 
			
			 
			
				27.08.2012, 21:22
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| 
<input type="file" onchange = "location.href = window.webkitURL.createObjectURL(event.target.files[0])">
 
<input type="file">
<script>
//хром и FF
document.body.children[0].onchange = function (e) {
	window.URL = window.URL || webkitURL;
	var file = e.target.files[0];
	if (file.type.indexOf('html') != - 1) {
		window.location.href = window.URL.createObjectURL(file);
	}
}
</script>
<input type="file">
<script>
//хром, FF, IE
document.body.children[0].onchange = function (e) {
	if (navigator.userAgent.indexOf('MSIE') != -1) {
		var url = this.value; 
		if (url.indexOf('html') != -1 || url.indexOf('htm') != -1) {
			window.location.href = url;
		}
	} else {
		window.URL = window.URL || webkitURL;
		var file = e.target.files[0];
		if (file.type.indexOf('html') != - 1) {
			window.location.href = window.URL.createObjectURL(file);
		}
	}
}
</script>
			 Последний раз редактировалось bes, 28.08.2012 в 00:40.
 |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 00:52
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| Под оперу только осталось как-то докрутить |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 01:44
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 26.08.2012 
						Сообщений: 13
					 
		
 |  |  
	| Очень изящное и лаконичное решение!!! Прямо на страницу учебника! Огромное спасибо за науку! Однако с QtWebKit, программа работает не совсем корректно   В окне браузера, после выбора нужного файла *.html в окошке QtOpen, вместо запуска веб-страницы, рядом с кнопкой "Choose File", появляется полный путь к файлу: 
file:///usr/local/etc/.../*.html 
Приходится создавать дополнительную форму типа:
 
<!DOCTYPE html>
<html>
 <head>
<title></title>
</head> 
	 <script>
 function urlJump()
    {
      var szNewURL="";
      szNewURL=prompt("open URL ", "name");
      window.location.href=szNewURL;
    }	
	</script> 
<form name="selectForm">
      <p><input type="button" value="GO!" onClick="urlJump();">
</html>
Копировать в поле формы полный адрес, только тогда веб-страница запускается. 
В моем случае - это уже огромный прогресс! Подскажите, можно ли, чтобы полученный с помощью Вашей программы полный URL, сразу попадал в поле другой формы? |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 09:32
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| 
<input type="file" onkeyup="alert(event.keyCode)">
<script>
//хром и FF
document.body.children[0].onchange = function (e) {
	window.URL = window.URL || webkitURL;
	var file = e.target.files[0];
	if (file.type.indexOf('html') != - 1) {
		window.location.href = prompt('url', window.URL.createObjectURL(file));
	}
}
</script>
			 Последний раз редактировалось bes, 28.08.2012 в 10:40.
 |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 10:29
			
			
			
		 |  
	| 
		
			
			| Интересующийся       |  | 
					Регистрация: 26.08.2012 
						Сообщений: 13
					 
		
 |  |  
	| Спасибо! Мне кажется, хотя может быть это и дилетантский взгляд, что такое решение будет универсальным. input type="file" - вызывает появление кнопки "Найти" ("Choose File"), при ее активации браузер обращается к ресурсам ОС, появляется окно поиска. Когда файл найден, событие отображается, по разному. В IE и FF - появляется поле со строкой пути к файлу, в Crome(WebKit), просто возле кнопки отображается имя файла. Появление новой формы, с полным указанием пути к файлу, должно работать в браузере любой ОС! В Опере не пробовал, но думаю тоже будет работать... Еще раз - огромное спасибо! |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 10:33
			
			
			
		 |  
	| 
		
			
			| без статуса       |  | 
					Регистрация: 25.05.2012 
						Сообщений: 8,219
					 
		
 |  |  
	| 
	
 
	| Сообщение от Stef |  
	| В Опере не пробовал, но думаю тоже будет работать |  
	
 В Опере запускается только при открытии локального файла HTML и в нем уже могут быть скрипты |  |  
	| 
		
	| 
			
			 
			
				28.08.2012, 10:36
			
			
			
		 |  
	| 
		
			|  | Профессор       |  | 
					Регистрация: 22.03.2012 
						Сообщений: 3,744
					 
		
 |  |  
	| с оперой не знаю чего делать, она хитрож-я, суёт fakepath везде |  |  
 
 
 
 |  |