Чем ActiveX более «JavaScript», чем Java? Вы просто встраиваете дополнительный объект в свой HTML-файл и позволяете JavaScript использовать его в качестве помощника.

инающий программист, изучающий AJAX. Читая JavaScript, я обнаружил, что любопытно, что большинство примеров, которые я рисовал, используют PHP для такой операции. Я знаю, что многие из вас могут утверждать, что «я делаю это неправильно» или «JavaScript - это язык на стороне клиента» и т. Д., Но вопрос стоит. , Вы можете написать файл только на JavaScript?

Ответы на вопрос(7)

Javascript вообще не имеет доступа к файловой системе, это ограничение безопасности в браузере. Единственный способ, которым вы действительно можете это сделать, - это использовать ActiveX, но тогда вы можете ограничиться использованием IE.

Редактировать: Как говорится в приведенном выше сообщении, это может быть возможно, если ваш движок разрешит это, однако я не знаю ни одного движка браузера (для которого, как я полагаю, вы его пишете), который позволил бы вам.

 Ates Goral20 янв. 2009 г., 16:43
ActiveX не единственный способ. Вы можете использовать Java, не ограничивая себя только IE.
 Sam Cogan20 янв. 2009 г., 16:44
Здесь мы говорим о Javascript, а не о Java, и наиболее распространенные способы сделать то, что он просит, это с ActiveX, что ограничивает вас IE
 Ates Goral20 янв. 2009 г., 17:09
Чем ActiveX более «JavaScript», чем Java? Вы просто встраиваете дополнительный объект в свой HTML-файл и позволяете JavaScript использовать его в качестве помощника.

нарию обработки на стороне сервера, но разрешение JS напрямую записывать на диск - на стороне клиента или на стороне сервера - было бы большой, неприятной, явной, непростительной дырой в безопасности браузера. ,

Решение Вопроса

api + service worker + streams, теперь вы можете включить потоки с флагом ...

Вы можете пойти вStreamSaver.js чтобы увидеть некоторые примеры того, как его использовать.

Вы можете сделать что-то вроде этого:

const writeStream = fs.createWriteStream('filename.txt')
const encoder = new TextEncoder
let data = 'a'.repeat(1024)
let uint8array = encoder.encode(data + "\n\n")

writeStream.write(uint8array)
writeStream.close()

Или просто продолжайте и посмотрите на демонстрации:https://jimmywarting.github.io/StreamSaver.js/example.html

Вы не можете по умолчанию записать файл на локальный диск, используя обычный JavaScript в браузере. Вам понадобится помощник, чтобы сделать это. Например,TiddlyWiki это вики-движок, представляющий собой один статический HTML-файл, но он может записывать себя на диск с помощью Java-апплета (Tiddly Saver).

в новых браузерах у вас также есть база данных SQLite для хранения данных на стороне клиента. Вы не можете хранить данные в произвольном месте на диске, хотя.

конечно ты можешь. Это зависит только от того, какие объекты API ваш движок javascript сделает доступными для вас.

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

 meouw20 янв. 2009 г., 17:13
Да, конечно, но нет. хе-хе +1

Google Gears создавать приложения JS, которые способны хранить данные в локальном кэше или базе данных. Вы не можете читать или писать произвольные области диска, хотя. (Это было написано в 2009 году -Google Gears устарела)

В эти дни вы должны смотреть навозможности локального хранения, предоставляемые HTML5

 Daniel X Moore12 авг. 2011 г., 23:43
Google Gears устарела.

Ваш ответ на вопрос