Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 30.12.2016, 12:59
Новичок на форуме
Отправить личное сообщение для frostfr Посмотреть профиль Найти все сообщения от frostfr
 
Регистрация: 30.12.2016
Сообщений: 4

Длинный локальный HTML
Здравствуйте, извините, если я ошибся разделом, у меня вопрос.
Я хочу создать на компьютере локальную копию одного сайта (видеословарь жестового языка), я уже собрал программу, которая сама перелистывает страницы и складывает ссылки в базу данных, теперь я хочу оформить всё это в один .html файл, чтобы можно было пользоваться поиском на странице. Проблема в том, что файл получится большой, около 30000 тэгов <div>, в каждом диве около 20 кнопок. Браузер скорее всего будет грузить это всё в память, а памяти может не хватить.
Я хочу, чтобы эта штука работала именно в браузере, потому что браузер (firefox) умеет открывать видеофайлы в новых вкладках.
Я хочу попробовать такое решение: рядом с .html файлом будет лежать текстовой файл с базой, Javascript на странице будет обращаться к этому файлу и... (дальше я знаю что делать).
Внимание, вопрос: Есть ли способ, с помощью которого скрипт на стороне браузера может прочитать файл, который лежит на диске рядом с .html файлом, только не весь файл сразу, а по одной строке за одно обращение?
Ответить с цитированием
  #2 (permalink)  
Старый 30.12.2016, 13:27
Новичок на форуме
Отправить личное сообщение для frostfr Посмотреть профиль Найти все сообщения от frostfr
 
Регистрация: 30.12.2016
Сообщений: 4

Я только что нагуголил File API.
Проблема в том, что он работает только если пользователь сам укажет имя файла, прочитать любой файл с диска скорее всего не разрешается.
Ответить с цитированием
  #3 (permalink)  
Старый 30.12.2016, 15:50
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

frostfr, в каком виде данные находятся в этом текстовом файле с базой, приведи несколько примеров этих строк данных, сколько всего строк в нем и какой общий размер его?

Последний раз редактировалось Rise, 30.12.2016 в 15:54.
Ответить с цитированием
  #4 (permalink)  
Старый 30.12.2016, 17:19
Новичок на форуме
Отправить личное сообщение для frostfr Посмотреть профиль Найти все сообщения от frostfr
 
Регистрация: 30.12.2016
Сообщений: 4

Rise, файл моего собственного формата, выглядит примерно так (строки длинные):
Код:
<caption> абразивный<flag> 1 191842 12320 <flag> 2 294205 12320 <flag> 3 247368 12320 <flag> 4 255681 12320 <flag> 9 161998 12320 <flag> 11 139274 12320 <flag> 12 176110 12320 <flag> 17 200144 12320 <flag> 19 142101 12320 <flag> 21 234809 12320 <flag> 22 234965 12320 <flag> 25 171205 12320 <flag> 31 328554 12320 <flag> 26 77351 12320 <category>68 " Стиль жизни"<category>82 "-- Уборка и стирка"<category>213 " Технология"<category>222 "-- Другие строительные материалы"
<caption> абрикос<flag> 1 6998 701 <flag> 2 7000 701 <flag> 3 6997 701 <flag> 4 6995 701 <flag> 5 6996 701 <flag> 6 6999 701 <flag> 8 6994 701 <flag> 9 7001 701 <flag> 10 7003 701 <flag> 11 320976 701 <flag> 12 7002 701 <flag> 13 74874 701 <flag> 17 177342 701 <flag> 19 61836 701 <flag> 21 160103 701 <flag> 22 142380 701 <flag> 25 64345 701 <flag> 26 54781 701 <flag> 30 103460 701 <flag> 31 119454 701 <category>125 " Еда и напитки"<category>135 "-- Фрукты и ягоды"
<caption> абрис очертание<flag> 1 23572 2422 <flag> 2 335338 2422 <flag> 3 23577 2422 <flag> 4 23573 2422 <flag> 6 23575 2422 <flag> 9 23571 2422 <flag> 10 42568 2422 <flag> 11 23569 2422 <flag> 12 23570 2422 <flag> 13 65753 2422 <flag> 17 202450 2422 <flag> 19 64357 2422 <flag> 21 183091 2422 <flag> 22 138492 2422 <flag> 25 77225 2422 <flag> 26 81303 2422 <flag> 29 140116 2422 <flag> 31 115524 2422 <category>113 " Искусство и развлечения"<category>114 "-- Рисование красками и карандашом"
Это фрагмент файла, всего в этом файле 15159 таких строк. Тот файл, который будет вместе со страницей, еще не готов, но он будет примерно таким-же, парсить его я умею.
Я могу написать код, который парсит одну такую строку и заполняет переменные (строковые). Затем из них можно составить HTML. Вместе с CSS это должно выглядеть примерно так: http://img11.lostpic.net/2016/12/30/...62dabdf63b.png

Из такого фрагмента:
Код:
<flag> 12 23570 2422
можно получить такую ссылку:
https://media.spreadthesign.com/video/mp4/12/23570.mp4
Или такую:
https://www.spreadthesign.com/ru/23570
Ответить с цитированием
  #5 (permalink)  
Старый 30.12.2016, 18:31
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

frostfr, храни данные в виде js-объекта в отдельном файле .js и подключай его, и парсить не придется.
// data.js
var data = {
    // ...
    // data
    // ...
};

Последний раз редактировалось Rise, 30.12.2016 в 18:37.
Ответить с цитированием
  #6 (permalink)  
Старый 30.12.2016, 19:16
Новичок на форуме
Отправить личное сообщение для frostfr Посмотреть профиль Найти все сообщения от frostfr
 
Регистрация: 30.12.2016
Сообщений: 4

Спасибо. Лучше уж тогда сразу собрать HTML, и подключать ничего не надо, правда файл получится тяжелый.
Мне всё-таки интересно, можно ли заставить браузер читать большой файл не целиком а по частям, в целях экономии памяти, ведь иногда попадаются крупные файлы. Кстати, можно ведь разбить файл базы на много маленьких файлов и загружать их (с помощью FileAPI) по одному, сразу-же освобождая память от предыдущих.
Ответить с цитированием
  #7 (permalink)  
Старый 30.12.2016, 19:35
Профессор
Отправить личное сообщение для Rise Посмотреть профиль Найти все сообщения от Rise
 
Регистрация: 07.11.2013
Сообщений: 4,662

frostfr, не лучше, если в js-объекте будут только уникальные данные, в отличие от "сразу собрать HTML", где данные (такие как тэги разметки и тд) будут повторяться.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как с помощью javascript взять данные из одного файла html и закинуть в другой? rusik Общие вопросы Javascript 10 08.08.2016 12:11
Преобразовать строку в HTML код (обратное htmlspecialchars из php) daslex Общие вопросы Javascript 71 23.08.2015 20:41
Парсинг HTML -> DOM в нормальных браузерах (таки проблема) FINoM Events/DOM/Window 9 19.01.2014 17:38
Типографика и HTML код Manjuriano (X)HTML/CSS 3 23.11.2011 12:22
lastChild работает в IE, как тут быть? Puaris83 Firefox/Mozilla 4 17.04.2010 23:56