Чтение файла при помощи ActiveXObject
Привет!
Изучаю возможности объекта ActiveXObject в IE8 и попал на ошибку function почитать(){ var папка = "Папка1"; var ФСО = new ActiveXObject("Scripting.FileSystemObject"); полныйПуть=window.location.pathname; var путь=полныйПуть.replace(ФСО.GetFileName(полныйПуть),"Папки\\"+папка ).replace(/\//g,"\\").replace("\\",""); if (!ФСО.FolderExists(путь)){ alert("Такой папки нет"); return; } var файл = ФСО.OpenTextFile(путь+"\\фаил.html", 1, false,-1); текст = файл.ReadAll(); ... файл.Close(); } В строке 8 отладчик сообщает, что "объект не поддерживает это свойство или метод". Как я понимаю, речь о ReadAll(). Почему? Любопытно, что в IE11 всё норм) и по-моему в 10, а вот в 9 - тоже нет. Хочется кросс...эээ...версионости. И ещё я не пойму, как в том же IE8 получить выбранное значение ниспадающего списка <select id="перечень" onchange="почитать();"><option>Папка1</option><option>Папка2</option></select> var перечень=document.getElementById("перечень"); var папка=перечень.value; // здесь value="" |
Цитата:
|
................... var файл = ФСО.OpenTextFile(путь+"\\фаил.html", 1, false,-1); if( ! файл ) { alert( "Can't open file"+путь+"\\фаил.html" ); return; } ................... |
devote, в первом случае заменяются все слеши (кстати, там правильнее написать replace(/\//g,"\\\\") ), а во втором только первые:
было "/C:/..." стало "С:\\..." хотя, вроде, всё равно какие слеши |
rgl, объект создаётся без проблем, более того, среди доступных для него методов сам же отладчик приводит ReadALL()
|
Всё, посоны, расходимся
написал var текст = файл.ReadAll(); поплакал признался в ненависти к ie, к js признался в ненависти к майкрософт признался в ненависти к гейтсу, к себе, ко всем пошёл отдохнуть |
Часовой пояс GMT +3, время: 04:56. |