Member 12671068 Ответов: 3

Почему этот код filesystemobject не работает ?


У меня есть текстовое " имя " в моем приложении, которое я хочу стилизовать с помощью шрифтов, установленных на ПК пользователей (локально), которые я бы извлек с помощью такой функции, как filesystemobject. Что-то вроде этого (это только ориентировочный код)

Что я уже пробовал:

<html>
  <head>

  <script>    

  function ShowFolderFileList()
  {
  var fso, f, f1, fc, s;
  fso = new ActiveXObject("Scripting.FileSystemObject");
  f = fso.GetFolder("My Folder");
  fc = new Enumerator(f.files);
  s = "";
  for (; !fc.atEnd(); fc.moveNext())
  {
  s += fc.item();
  s += "<br>";
  }
  document.write(s);
  } 
  </script>


  </head>

  <body>   

  <form name="myForm">
  <input type="Button" value="Get File" onClick='ShowFolderFileList' >

  </form>
  </body>
  </html>

Mehdi Gholam

Он будет работать только в Internet Explorer (не chrome, firefox и т. д.)

3 Ответов

Рейтинг:
2

Patrice T

ActiveX - это только IE.
Веб-страницам не разрешен доступ к клиентской файловой системе по соображениям безопасности.
Только представьте, вы загружаете случайную веб-страницу, и она начинает читать, записывать или удалять ваши локальные данные без вашего согласия. Это классная функция только для хакеров.


Рейтинг:
2

Member 12671068

Пожалуйста, обратитесь к этому сайту здесь ... myfontbook.com/app . Как они это делают ?


Dave Kreskowiak

Вы опубликовали это как решение своего собственного вопроса. Нажмите на кнопку "Задать вопрос или комментарий"для сообщения, на которое вы хотите ответить.

Он делает это с помощью Flash/Shockwave, а не javascript. Опять же, код скрипта не может получить доступ ни к каким системным клиентским ресурсам. Вспышка может, но все еще ограничена в том, что она может сделать.

Рейтинг:
1

F-ES Sitecore

Описание.FileSystemObject настроен так, чтобы его нельзя было использовать из скриптовых языков, таких как javascript. Если бы веб-страницы могли использовать этот объект, это имело бы ужасные последствия для безопасности.