Javascript.RU

 
 
Опции темы
 
Старый 01.11.2009, 04:12
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

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кб. А-ля простое окно со списком виртуальных файлов, их переименование/удаление, дата изменения... Т.е. виртуальный винт, возможно и с каталогами!

Последний раз редактировалось Paguo-86PK, 01.11.2009 в 06:12. Причина: Обгоняя предложения о Flash
 
Старый 01.11.2009, 09:23
Аватар для Gozar
猫
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Paguo-86PK Посмотреть сообщение
На сколько перспективно просить W3C о введение в стандарт HTML DOM-модели объекта RAM-Disk?
На столько же, насколько просить производителей браузеров. W3C не закон и реализовывать что-то в нем описанное никто не обязан. Просить вообще вредно для нервной системы, нужно реализовывать самому.
 
Старый 01.11.2009, 10:07
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Ну это понятно
Сообщение от Gozar Посмотреть сообщение
На столько же, насколько просить производителей браузеров. W3C не закон и реализовывать что-то в нем описанное никто не обязан. Просить вообще вредно для нервной системы, нужно реализовывать самому.
Реализовывать не обязаны, однако если стандарт есть, то в будущем предпримут попытки реализовывать хоть что-то из стандарта.

Реализовывать самому - я об этом думал. Начать бы хотя бы с переработки утилиты Virtual Floppy Disk Driver, исходники которой я изучал. А переработка вот какая:
Драйвер занимает под себя букву свободного диска (A: B: S: ...) и при переносе какого-нибудь файла в тот диск - проигрывает.
Скажем, нужно нам проиграть 5 mp3-файлов, мы тупо закидываем их в тот диск как в очередь. И они проигрываются по-очереди. Как WinAMP, но на более абстрактном уровне

Пользователи Total Commander меня поймут. Только вот моя идея не ограничивается таки оболочкой TC, а является виртуальным диском

Или вот чат: Заходишь в диск T: например, а там вместо файлов - сообщения заранее настроенного он-лайн чат-канала.

Конечно прочитав эти фантазии можно подумать, что я обкурился.

Нет, просто я не потерял способности сохранять фантазиям крылья, не ломая их чьим-то консерваторскими рамками и постулатами
 
Старый 01.11.2009, 11:11
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Paguo-86PK,
давайте вы все-таки сначала весь HTML изучите (включая HTML5), а не только canvas, не говоря уж про JavaScript. А потом уже будете амбициозные предложения в W3C делать. А то ведь неловко может получиться. Гуглить можете начать с фразы DOM storage.

А все ваши рассуждения показывают, что вы не представляете, как работают браузеры, и какие проблемы им приходится решать. Так что рано вам фичи для них придумывать.
 
Старый 01.11.2009, 17:58
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Консерватизм рулит?
Сообщение от Kolyaj Посмотреть сообщение
Paguo-86PK,
давайте вы все-таки сначала весь HTML изучите (включая HTML5), а не только canvas, не говоря уж про JavaScript. А потом уже будете амбициозные предложения в W3C делать. А то ведь неловко может получиться. Гуглить можете начать с фразы DOM storage.

А все ваши рассуждения показывают, что вы не представляете, как работают браузеры, и какие проблемы им приходится решать. Так что рано вам фичи для них придумывать.

Я скачал всю спецификацию в pdf-файле. Читал там и про тэги menu, progress, video и т.д. В Опере и в Фоксе примеры не сработали, как описано в мануале. Так что, увы, изучил я почти всё, что показалось чужим моему глазу, да и интересным.
На сколько я понял, тэг menu должен выдавать уже не тупое ul-подобное меню-список, а реальное меню графического интерфейса. Или я не так читал?

А ввести в браузер виртуальный диск - так же легко, как добавлять ссылки страницы в избранное или делать её стартовой. А вот возмём Кукисы: это тоже своеобразный, сильно ограничений виртуальный файл под каждую страницу персонально. Я уже пытался делать менеджер виртуальной файловой системы на кукисах.
Работает, но чтобы извлечь/записать реальный файл нужны услуги PHP, что очень неудобно. Плюс, насколько я помню, ограничение там до 4кб!

А RAM-Disk в HTML - вполне можно сделать как ExCookies - продвинутые кукисы, но браузер также оснащён менеджером для них: Извлечь в файл, впихнуть файл... Плюс желательно подкаталоги ещё. Короче...

Ну в общем... Кто о чём, а вшивый ламер - про canvas... Так я понял ваши намёки.
 
Старый 01.11.2009, 18:53
Аватар для Gozar
猫
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Paguo-86PK Посмотреть сообщение
Так я понял ваши намёки.
Вы всё верно поняли, для того чтобы рассуждать на такие темы нужно хотя бы поверхностно представлять реальное положение вещей и уж тем более нужно знать что могут и чего не могут различные браузеры и почему.

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

Я сам например пришёл в js из php и считаю что ооп php мастдай, наверное многие считают что я не прав, но переживать по этому поводу я не буду.

Хотите что-то сделать, так делайте!
 
Старый 01.11.2009, 19:38
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

Кратко опишу суть элемента
RAM-Disk в HTML - некий select-подобный список. Имеет свойство innerFile например.
innerFile - Array массив, в котором перечисленны все файлы/каталоги. Скрипт видит в следующем виде:
Код:
this.innerFiles = new Array
(
  {
    "name": "Music",
    "date": "12:12:12 12/12/2012",
    "attr": "folder",
    "data": new Array
    (
      {
        "name": "..",
        "date": "12:12:12 12/12/2012",
        "attr": /*здесь указать на каталог-родитель не получится без алгоритмической рекурсивной ссылки */,
        "data": ""
      },
      {
        "name": "conyon.mid",
        "date": "12:12:12 12/12/2012",
        "attr": "normal",
        "data": "base64, ..."
      }
    )
  },
  {
    "name": "read_me.txt",
    "date": "12:12:12 12/12/2012",
    "attr": "normal",
    "data": "Hello! World!!!<br/>This is RAM-Disk tag!"
  }
)
и никакой реальной файловой системе ничем не угрожает. Пользователь может спокойно блуждать по мнимой файловой системе.
Уникальная возможность: Контекстным меню кликнув на нужный пункт списка можно выбрать опции "Переименовать", "Вырезать", "Вставить", "Удалить", "Копировать", "Клонировать". При этом произойдёт лишь внутренняя реорганизация всего Array. А скрипт будет оповещён лишь абстрактно - onChange...
Ещё в контекстном меню пользователь найдёт пункт "Извлечь". Это равносильно как у картинки "Сохранить как...". Открывается диалог с предложением выбрать имя сохраняемого файла и папки.
При этом скрипт оповещён о действиях пользователя не будет, или будет, но абстрактно, как onSelect или onClick...
Ещё можно взять любой файл проводника и перетащить его прямо в список файлов в окне браузера. Сразу произойдёт реорганизация Array, будет добавлена новая структура. А содержимое реального файла преобразуется в "data": "base64, ... etc"... При этом скрипт будет оповещён событием onChange.

Таким образом, новый элемент - RAM-Disk на HTML странице никак не может стать потенциальной дырой в безопасности и защите. Так-как элемент управляется браузером, а скрипту лишь остаётся анализировать Array-структуру, не имея к реальной файловой системе никакого доступа и отношения!

Вот теперь можете высказывать свои мнения. Очень прошу, однако, вникнуть в суть хоть чуточку. А не гноитьсразу
 
Старый 01.11.2009, 19:53
Аватар для Gozar
猫
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Paguo-86PK Посмотреть сообщение
А содержимое реального файла преобразуется в "data": "base64, ... etc"...
У Вас первый же залетевший дятел разрушит цивилизацию.
 
Старый 01.11.2009, 20:13
Аватар для Paguo-86PK
Профессор
Отправить личное сообщение для Paguo-86PK Посмотреть профиль Найти все сообщения от Paguo-86PK
 
Регистрация: 16.09.2009
Сообщений: 253

В чём подвох, дрозды, дятлы
Сообщение от Gozar Посмотреть сообщение
У Вас первый же залетевший дятел разрушит цивилизацию.
Хоть убейте! Не понял, о чём Вы?

Сейчас эксперементировал с
document.getElementsByTagName("a")[0].href = "url(data:audio/mid; base64,TVRoZAAAAA...JAAAD/LwA=)";
думал, как и в случае с img.src проканает и ссылка будет сохраняемым миди-файлом. Не получилось
 
Старый 01.11.2009, 21:02
Новичок на форуме
Отправить личное сообщение для Kolyaj Посмотреть профиль Найти все сообщения от Kolyaj
 
Регистрация: 19.02.2008
Сообщений: 9,177

Сообщение от Paguo-86PK
Я скачал всю спецификацию в pdf-файле. Читал там и про тэги menu, progress, video и т.д.
Давайте не так: вы про dom storage прочитали? Эту статью читали? Какие куки вообще? И зачем вы их с помощью PHP устанавливаете?

Сообщение от Paguo-86PK
На сколько я понял, тэг menu должен выдавать уже не тупое ul-подобное меню-список, а реальное меню графического интерфейса.
Он вообще ничего не должен. Он семантику определяет, а не отображение.

Сообщение от Paguo-86PK
Кто о чём, а вшивый ламер - про canvas... Так я понял ваши намёки.
Нет, не так. Кто-то задачи реальные решает, а вшивый все в облаках летает. Причем все ваши проблемы решаются более простыми способами, нежели ваши фантазии.
 

Опции темы


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как удалить элемент из дерева DOM dummer jQuery 13 16.01.2011 16:19
Как преобразовать строку с тегами в DOM элимент GOll Общие вопросы Javascript 7 07.04.2010 10:39
DOM vs iframe. Как в ифрейме заменить выделенный текст (его innerHTML)? Бухалыч Events/DOM/Window 4 20.08.2009 14:30
Как узнать, что DOM сформирован dmeet AJAX и COMET 1 10.08.2009 17:09
как найти нужный объект? `p r o x y jQuery 2 05.05.2009 01:12


© Илья Кантор, 2007-2021 О проекте - Архив форума - Вверх