| 
 Запуск веб-страницы с локального диска Только начал осваивать javascript:) Подскажите, как правильно оформить, максимально короткий код запуска веб-страницы с локального диска ПК. 1. Необходимо найти нужную страницу на диске. 2. Запустить ее в полноэкранном режиме или новом окне. 3. Желательно, чтобы код выполнялся в IE, FF, Crome. | 
| 
 Цитата: 
 | 
| 
 Именно это мне и нужно - выбирать и запускать веб-страницы с локального диска своего ПК! Просто хотелось бы, создать примитив вьюера для просмотра внутренних html ресурсов на своем компе. Нужны всего три кнопки:  1. "найти" - с окном показывающем путь к файлу; 2. "запусить" - запускает страницу в разных браузерах, установленных на ПК. 3. Просмотреть html код первичной страницы. | 
| 
 Stef, собственно начальная страница может быть такой <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"> <html dir="ltr"> <head> <title>Диски</title> <link rel="stylesheet" href="file://localhost/C:/Program%20Files/Opera/styles/drives.css" media="screen,projection,tv,handheld,print,speech"> <meta name="viewport" content="width=device-width"> </head> <body> <h1>Диски</h1> <ol> <li><a href="file://localhost/C:/">C:</a></li> <li><a href="file://localhost/D:/">D:</a></li> <li><a href="file://localhost/E:/">E:</a></li> <li><a href="file://localhost/F:/">F:</a></li> <li><a href="file://localhost/G:/">G:</a></li> <li><a href="file://localhost/H:/">H:</a></li> </ol> </body></html> | 
| 
 не, а чем стандартный поиск не устраивает *.htm(html), через контекстное меню открывай чем хочешь | 
| 
 Огромное спасибо за науку! Но мне нужно, еще более простое решение! Используя <input type> - получить полный путь к html файлу на ПК, который каждый браузер указывает по своему, а затем вставить полученную ссылку в window.location.href и запустить его (первичный html код). Мне кажется, что такое решение будет универсальным для браузера любой ОС. Простите за наивные вопросы, но нужно кроссплатформенное, простейшее решение! | 
| 
 Прошу прощения за беспокойство, но просмотрев страницы форума удалось найти нужное мне решение: <!DOCTYPE HTML> <html> <head> <title></title> </head <form enctype="multipart/form-data" id="path" method="post" name="path" target="_blank"> <input type='file' onchange='window.location.href(this.value)'> </form> </html> Однако работает только в IE:-/ Подскажите, решение для любого браузера:help: | 
| 
 Браузеры кроме осла не предназначены для подобных извращений. | 
| 
 Может быть я и осел, но работаю с таким же ослиным браузером! Все равно прошу о помощи! На данный момент, мне все равно как написан код - главное чтобы работал на движке webkit! Думаю, что подправить вышеприведенный код под перечисленные мной требования, Вам не составит никакого труда! Прошу помогите!:help: | 
| 
 По последнему сообщению не понятно, понимаете ли вы что осёл - это IE. подправляю: форма там вообще не нужна, только input но получить кроссбраузерный результат данным способом скорей всего не получится, так как реальный путь к файлу из value input type=file позволяет получить только IE, остальные - нет по соображениям безопасности. | 
| 
 Но все же, подскажите правильное решение! Приведенный выше код работает, но на webkit выводит(и это понятно!), только путь к файлу не запуская его... Необходимо запустить найденную веб-страницу! Браузер и так сильно "тормозит", ресурсы ОС минимальные! Подскажите лаконичное решение!!! | 
| 
 Цитата: 
 <input type="file" onchange="alert(this.value)"> вы видели этот путь, это не реальный путь к файлу: максимум оттуда можно вычленить имя диска и название файла | 
| 
 А вот такой код - работает на движке 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. Кстати, по предыдущему примеру -"перетаскивание" файла из окна поиска, в окно браузера - запускает его, т.е. выбранная веб-страница открывается! | 
| 
 <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>
 | 
| 
 Под оперу только осталось как-то докрутить | 
| 
 Очень изящное и лаконичное решение!!! Прямо на страницу учебника! Огромное спасибо за науку! Однако с 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, сразу попадал в поле другой формы? | 
| 
 
<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>
 | 
| 
 Спасибо! Мне кажется, хотя может быть это и дилетантский взгляд, что такое решение будет универсальным. input type="file" - вызывает появление кнопки "Найти" ("Choose File"), при ее активации браузер обращается к ресурсам ОС, появляется окно поиска. Когда файл найден, событие отображается, по разному. В IE и FF - появляется поле со строкой пути к файлу, в Crome(WebKit), просто возле кнопки отображается имя файла. Появление новой формы, с полным указанием пути к файлу, должно работать в браузере любой ОС! В Опере не пробовал, но думаю тоже будет работать... Еще раз - огромное спасибо! | 
| 
 Цитата: 
 | 
| 
 с оперой не знаю чего делать, она хитрож-я, суёт fakepath везде | 
| 
 bes, Да, если мон победить, нун ток на оффсайт идти, и то если на тот момент профи будут Я пытался как то - решил ток через флеш | 
| 
 Может быть  кого-нибудь заинтересует? Но последний скрипт на QtWebKit при управлении курсором мыши, html файл не запускает, а при управлении с клавиатуры запускает форму  alert, но "подвешивает" ОС. Стоит ли попробовать обычную форму с window.location.href с двумя кнопками: "Запуск" и "Отмена"? | 
| 
 @bes Последний код, предложенный Вами для открытия веб-страниц с локального диска в Chrome - отлично работает! Однако, в поле формы присутстует непонятный код. Мне же, иногда нужно поменять всего один знак в имени файла и запустить его. Возможно, приведенный ниже код подскажет Вам, что мне необходимо! Почему последняя форма не указывает путь к файлу на локальном диске, а выдает результат: /fakepath/<имя_файла.html>? 
<html>
<head>
    <title></title>
</head>
<body>
<script language="javascript" type="text/javascript">
        document.write("<b>Получаем полный путь к файлу:</b> "+ window.location.href);
        document.write("<br /><br>");
        document.write("<b>location.href нашего файла:</b> " + location.href);
        function setLocationHref()
        {
            
            window.location.href = prompt('путь к файлу', ' полный путь');
        }
        
        function setLocation(href)
        {
           
           location.href = document.getElementById(href).value;
        }
                
    </script>
    <p>
        <b>Необходимо получить к файлу локального диска ПК<br />
            с возможностью редактированияи и запустить его</b>      
        <input id="Button1" type="button" value=" html file" onclick="setLocationHref();" />
    </p>
 <p>  
<div class="type_file">
    <input type="file" size="50" class="inputFile" onchange='document.getElementById("fileName").value=this.value' />
    <div class="fonTypeFile"></div>
    <input type="text" class="inputFileVal" readonly="readonly" id="fileName" />
</p>
</div>      
</body>
</html>
Помогите, собрать необходимый скрипт. Увы, пока самостоятельно не могу собрать нужный код :( | 
| 
 
<input type="file" style="display: none" onchange="setLocationHref(event)">
	<input id="Button1" type="button" value=" html file" onclick="this.previousElementSibling.click()">
<script>
	function setLocationHref(e) {
		window.URL = window.URL || webkitURL;
		var file = e.target.files[0];
		if (file.type.indexOf('html') != - 1) {
			var adr = prompt('url', window.URL.createObjectURL(file));
			if (adr != null) {
				window.location.href = adr;
			}
		}
	}
</script>
Цитата: 
 | 
| 
 Скрипт замечательно работает, но в поле формы запуска URL, вместо полного пути к файлу на локальном диске -    появляется: blob:null/c5442da7-d395-4671-bd59-745d6fee8192. Как такую штуку редактировать? | 
| 
 смысл её редактирования? PS: полный путь в обычном виде, думаю, никак не получить | 
| 
 Смысл - обучающие примеры, работы с адресной строкой, доступа к файловой системе ПК, примеры запуска приложений. Необходимо сделать это, в полноэкранном режиме браузера, на веб-странице минуя прямое обращение к интерфейсу ОС! | 
| Часовой пояс GMT +3, время: 19:59. |