Да, но с ограничениями. Основным ограничением является то, что вы не можете делать какие-либо вещи CGI, потому что браузер откроет и отобразит ваш исходный код скрипта вместо того, чтобы выполнять их. Это имеет несколько последствий:
- Вы не можете подключиться к базе данных. Это затрудняет выполнение общих задач, таких как хранение состояний и пользовательских данных.
- Вы не можете установить тип контента. Это означает, что вы не можете делать какие-либо фантастические вещи XML, такие как обслуживание файлов SVG или использовать XML в XMLHttpRequest.
- Вы не можете создавать динамические изображения (с помощью ImageMagick или GD). Хотя с HTML5 вы можете сделать это с помощью canvas.
- Вы не можете читать или писать в файловую систему. Опять же, это ограничивает вашу способность сохранять данные. Но это можно сделать с правильными разрешениями пользователя (подробнее об этом ниже).
Но есть обходные пути. HTML5 позволяет хранить данные в локальном хранилище, но, очевидно, это не будет работать в старых браузерах. Вместо этого вы можете хранить данные в куки, но это имеет ограничения по размеру. Наконец вы можете сохранить в файл. Вы должны проинструктировать своих пользователей, чтобы они изменили настройки браузера, чтобы ваш скрипт мог это сделать, но это можно сделать. Одним из примеров этого является TiddlyWiki . Это отдельная личная вики в одном HTML-файле. Каждый раз, когда вы сохраняете новый контент, страница изменяется и сохраняет себя. Возможно, вы захотите посмотреть, как они делают это для вдохновения.