Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 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
Ответить с цитированием
  #2 (permalink)  
Старый 01.11.2009, 09:23
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

Сообщение от Paguo-86PK Посмотреть сообщение
На сколько перспективно просить W3C о введение в стандарт HTML DOM-модели объекта RAM-Disk?
На столько же, насколько просить производителей браузеров. W3C не закон и реализовывать что-то в нем описанное никто не обязан. Просить вообще вредно для нервной системы, нужно реализовывать самому.
Ответить с цитированием
  #3 (permalink)  
Старый 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: например, а там вместо файлов - сообщения заранее настроенного он-лайн чат-канала.

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

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

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

А все ваши рассуждения показывают, что вы не представляете, как работают браузеры, и какие проблемы им приходится решать. Так что рано вам фичи для них придумывать.
Ответить с цитированием
  #5 (permalink)  
Старый 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... Так я понял ваши намёки.
Ответить с цитированием
  #6 (permalink)  
Старый 01.11.2009, 18:53
Аватар для Gozar
Отправить личное сообщение для Gozar Посмотреть профиль Найти все сообщения от Gozar
 
Регистрация: 07.06.2007
Сообщений: 7,504

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

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

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

Хотите что-то сделать, так делайте!
Ответить с цитированием
  #7 (permalink)  
Старый 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-структуру, не имея к реальной файловой системе никакого доступа и отношения!

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

Сообщение от Paguo-86PK Посмотреть сообщение
А содержимое реального файла преобразуется в "data": "base64, ... etc"...
У Вас первый же залетевший дятел разрушит цивилизацию.
Ответить с цитированием
  #9 (permalink)  
Старый 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 проканает и ссылка будет сохраняемым миди-файлом. Не получилось
Ответить с цитированием
  #10 (permalink)  
Старый 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