Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   помогите с OpenTextFile (https://javascript.ru/forum/misc/2360-pomogite-s-opentextfile.html)

Активиксер новичег 13.12.2008 00:34

помогите с OpenTextFile
 
<html >
<head>
<script language="JavaScript">
function readfile()
{
var fso,filehandle,contents;
fso = new ActiveXObject("Scripting.FileSystemObject");
filehandle = fso.OpenTextFile("info.txt",1);
contents = filehandle.ReadAll();
if (contents) document.all("filecontents").value = contents;
filehandle.close();
}
</script>
</head>
<body onload="readfile()">
<textarea id="filecontents" cols="50" rows="30"></textarea>

</body>
</html>


почему этот код не пашет?у меня есть index.html и info.txt в одной папке...как открыть info.txt не прописывая полный путь?где можно почитать что-нибудь на эту тему(кроме msdn - там ничего не понятно )

Gvozd 13.12.2008 00:56

Цитата:

Сообщение от Активиксер новичег
открыть info.txt не прописывая полный путь?

а у вас, что с полным путем ЭТО работает?
а собственно по сабжу, этот код, в прниципе НЕ ДОЛЖЕН РАБОТАТЬ.
НИКОГДА!!!
а теперь почему он не должен работать
1)соображения безопасности. если бы вы могли прочитать любой файл у клиента, то вы бы могли своровать унего любую конфиденциальную инфу.
пароли, номера кредиток и так далее.спрашивается зачем это надо пользоваетлю?именно поэтому создатели браузеров и блокируют эту и аналогичные возможности
2)ActiveXObject действует только в IE, и в других браузерах АБСОЛЮНО никак. а ActiveXObject("Scripting.FileSystemObject") , по умолчанию даже в нем не должно действовать(если порутся в настройках, может вам и удастся запустить такой код в СВОЕМ браузере.но не в чужом=))
Ибо ActiveXObject("Scripting.FileSystemObject") предназначен совсем для других целей, но никак не для запуска из браузера

любопытный 13.12.2008 01:12

Цитата:

а у вас, что с полным путем ЭТО работает?
а собственно по сабжу, этот код, в прниципе НЕ ДОЛЖЕН РАБОТАТЬ.
НИКОГДА!!!
работает...Ие 6-ой...вот этот код с полным путём работает можете сами посмотреть - работает бес понятия павда почему...

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<title>t</title>
<style type="text/css">
</style>
<script language="JavaScript">
function readfile()
{
var fso,filehandle,contents;
fso = new ActiveXObject("Scripting.FileSystemObject");
filehandle = fso.OpenTextFile("C:\\Program Files\\info.txt",1);
contents = filehandle.ReadAll();
if (contents) document.all("filecontents").value = contents;
filehandle.close();
}
</script>
</head>
<body onload="readfile()">
<textarea id="filecontents" cols="50" rows="30"></textarea>
</body>
</html>

Цитата:

2)ActiveXObject действует только в IE, и в других браузерах АБСОЛЮНО никак.
я знаю...
Мне пофиг на другие браузеры пишу не для сайта а для одного проекта который основывается на ИЕ
Цитата:

Ибо ActiveXObject("Scripting.FileSystemObject") предназначен совсем для других целей, но никак не для запуска из браузера
тоесть проблема поставленная мною нерешаема???в таком случае очень жаль... :(

Gvozd 13.12.2008 02:27

спасибо вам.
я хоть вспомнил молодость, когда вачитывал всякие статьи по разнообразным способам хакинга из браузера, и тому подобное
теперь же по сути
ваш код я не поленился и вбил в ие.
он(дефолт-настройки) мне выдал запрос типа "это опсано, хотите ли вы?"
после да, все сработало.
после нет, нифига
при вбитии относительного пути, он отказался обрабатывать, согласен
способа это побороть не знаю, и с первого взгляда не вижу
Цитата:

Сообщение от любопытный
проекта который основывается на ИЕ

а почему надо писать проект иаенно под него?
и почему потредоавля доступ к пользовательским файлам?
не браузера это дело, поэтому без спец-хаков тут не обойтись(если конейно можно с ними)
Цитата:

Сообщение от любопытный
тоесть проблема поставленная мною нерешаема???в таком случае очень жаль...

ваша задача не решаема в случае относител ьных путей.
попробуйте с авбослютными

Вмварщик 13.12.2008 11:35

Цитата:

а почему надо писать проект иаенно под него?
и почему потредоавля доступ к пользовательским файлам?
не браузера это дело, поэтому без спец-хаков тут не обойтись(если конейно можно с ними)
Я пишу не под чистый Ие а под небольшую модификацию...в общем не важно спасибо вам - мучатся лишний раз не буду :)
в принципе можно будет попробовать соответствующим образом обработать window.location ... или с абсолютным путём... :)

Gvozd 13.12.2008 13:31

удачи вам

ZET 14.04.2011 13:21

Банальная ошибка
08 filehandle = fso.OpenTextFile("info.txt",1,1);


Часовой пояс GMT +3, время: 03:43.