RAM-Disk как DOM-объект
Ребята, вот такой нестандартный вопрос у меня.
На сколько перспективно просить W3C о введение в стандарт HTML DOM-модели объекта RAM-Disk? Вот бейте меня, но я опять произнесу слово CANVAS. Вот сейчас эмуляторы Spectrum и других компьютеров появились. Думаю скоро и до NES дойдёт. Всё хорошо с этим тэгом. Да вот с файлами - просто гиблое место! В IE у меня есть несколько собственных скриптов, вплоть до коррекции сетки частот ТВ-каналов в драйверах системы. Но работают они лишь в IE, так-как читают десятки файлов и записывают один, и наоборот. Так вот. Работа с файлами из скрипта - небезопасный механизм и отсутствует в остальных браузерах. Но! Что стоит ввести объект RAM-Disk - виртуальный диск. Откуда файлы пользователь туда перетащил - скрипт не знает, но видит новый Array в списке RAM-Disk объекта. И пользователь можеть и сохранять файлы оттуда, прямо как картинку. Вот сейчас с графикой в html всё отлично, обещают и поддержку 3D. А значит найдутся энтузиасты моделирования лабиринтов, интеръеров и т.д. И тут отсутствие чтение/записи локальных файлов без участия сервера будет большой проблемой... добавляю: Ожидаю бесконечных предложений добавления в страницы всяких Flash'ек, обеспечивающих работу с файлами. Поэтому сразу скажу: Canvas уступает Flash'графике в производительности и в некоторых деталях, о которых уже говорили. Однако, большой плюс этого тэга в том, что если нужно на всю страницу по диагонали написать ОБРАЗЕЦ, то ради этого специально шаманить в Flash-студии или с громадным PNG-фоном - извращение, когда Canvas-средства - уже стандарт HTML 5! Так и RAM-Disk: Одно - как часть DOM и естественное как Cookies, другое - как очередное Flash'вложение. Прошу не быть консерваторами, а задуматься над все за-против относительно RAM-Disk ;) К тому же, что-то не встречал я Flash'ек, на которые можно было просто перетащить файл из проводника в их список. И сильно сомневаюсь, что возможно обратное: Выделить файл в списке и тупо перетащить на рабочий стол, а там он появится как обыкновенный файл... Вот это - настоящая интерактивность. P.S.: Если кто-то может предложить, дайте мне ссылки на подобные Flash'ки и чтобы не требовали последней версии и запускались даже на только что установленной Windows'98! Да и весили не больше 1кб. А-ля простое окно со списком виртуальных файлов, их переименование/удаление, дата изменения... Т.е. виртуальный винт, возможно и с каталогами! |
Цитата:
|
Ну это понятно
Цитата:
Реализовывать самому - я об этом думал. Начать бы хотя бы с переработки утилиты Virtual Floppy Disk Driver, исходники которой я изучал. А переработка вот какая: Драйвер занимает под себя букву свободного диска (A: B: S: ...) и при переносе какого-нибудь файла в тот диск - проигрывает. Скажем, нужно нам проиграть 5 mp3-файлов, мы тупо закидываем их в тот диск как в очередь. И они проигрываются по-очереди. Как WinAMP, но на более абстрактном уровне:) Пользователи Total Commander меня поймут. Только вот моя идея не ограничивается таки оболочкой TC, а является виртуальным диском;) Или вот чат: Заходишь в диск T: например, а там вместо файлов - сообщения заранее настроенного он-лайн чат-канала. Конечно прочитав эти фантазии можно подумать, что я обкурился.:-E Нет, просто я не потерял способности сохранять фантазиям крылья, не ломая их чьим-то консерваторскими рамками и постулатами:no: |
Paguo-86PK,
давайте вы все-таки сначала весь HTML изучите (включая HTML5), а не только canvas, не говоря уж про JavaScript. А потом уже будете амбициозные предложения в W3C делать. А то ведь неловко может получиться. Гуглить можете начать с фразы DOM storage. А все ваши рассуждения показывают, что вы не представляете, как работают браузеры, и какие проблемы им приходится решать. Так что рано вам фичи для них придумывать. |
Консерватизм рулит?
Цитата:
Я скачал всю спецификацию в pdf-файле. Читал там и про тэги menu, progress, video и т.д. В Опере и в Фоксе примеры не сработали, как описано в мануале. Так что, увы, изучил я почти всё, что показалось чужим моему глазу, да и интересным. На сколько я понял, тэг menu должен выдавать уже не тупое ul-подобное меню-список, а реальное меню графического интерфейса. Или я не так читал? А ввести в браузер виртуальный диск - так же легко, как добавлять ссылки страницы в избранное или делать её стартовой. А вот возмём Кукисы: это тоже своеобразный, сильно ограничений виртуальный файл под каждую страницу персонально. Я уже пытался делать менеджер виртуальной файловой системы на кукисах. Работает, но чтобы извлечь/записать реальный файл нужны услуги PHP, что очень неудобно. Плюс, насколько я помню, ограничение там до 4кб! А RAM-Disk в HTML - вполне можно сделать как ExCookies - продвинутые кукисы, но браузер также оснащён менеджером для них: Извлечь в файл, впихнуть файл... Плюс желательно подкаталоги ещё. Короче... Ну в общем... Кто о чём, а вшивый ламер - про canvas... Так я понял ваши намёки.:D |
Цитата:
Лично я рад, что у Вы не режете фантазиям крылья, но обсуждать мне с Вами просто нечего, у нас разный уровень, мы друг друга не понимаем. Я сам например пришёл в js из php и считаю что ооп php мастдай, наверное многие считают что я не прав, но переживать по этому поводу я не буду. Хотите что-то сделать, так делайте! |
Кратко опишу суть элемента
RAM-Disk в HTML - некий select-подобный список. Имеет свойство innerFile например.
innerFile - Array массив, в котором перечисленны все файлы/каталоги. Скрипт видит в следующем виде: Код:
this.innerFiles = new Array Уникальная возможность: Контекстным меню кликнув на нужный пункт списка можно выбрать опции "Переименовать", "Вырезать", "Вставить", "Удалить", "Копировать", "Клонировать". При этом произойдёт лишь внутренняя реорганизация всего Array. А скрипт будет оповещён лишь абстрактно - onChange... Ещё в контекстном меню пользователь найдёт пункт "Извлечь". Это равносильно как у картинки "Сохранить как...". Открывается диалог с предложением выбрать имя сохраняемого файла и папки. При этом скрипт оповещён о действиях пользователя не будет, или будет, но абстрактно, как onSelect или onClick... Ещё можно взять любой файл проводника и перетащить его прямо в список файлов в окне браузера. Сразу произойдёт реорганизация Array, будет добавлена новая структура. А содержимое реального файла преобразуется в "data": "base64, ... etc"... При этом скрипт будет оповещён событием onChange. Таким образом, новый элемент - RAM-Disk на HTML странице никак не может стать потенциальной дырой в безопасности и защите. Так-как элемент управляется браузером, а скрипту лишь остаётся анализировать Array-структуру, не имея к реальной файловой системе никакого доступа и отношения! Вот теперь можете высказывать свои мнения. Очень прошу, однако, вникнуть в суть хоть чуточку. А не гноить:no:сразу |
Цитата:
|
В чём подвох, дрозды, дятлы
Цитата:
Сейчас эксперементировал с document.getElementsByTagName("a")[0].href = "url(data:audio/mid; base64,TVRoZAAAAA...JAAAD/LwA=)"; думал, как и в случае с img.src проканает и ссылка будет сохраняемым миди-файлом. Не получилось:cray: |
Цитата:
Цитата:
Цитата:
|
Часовой пояс GMT +3, время: 13:10. |