Javascript.RU

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

Генерация страниц из текстового файла
Доброго времени суток.
Есть сайт на PHP+MySQL (справочник. По сути это одна страница с меню [более 100 пунктов], на которой меняется только контент). Необходимо записать сайт на диск, следовательно нужно сделать так, чтобы он работал без PHP.
Если создать обычный текстовый файл (сгенерировать из базы данных) с таким содержимым:
Код:
ссылка1 | контект1
ссылка2 | контент2
...
ссылкаN | контентN
то как с помощью JS можно будет вытащить определенную строку?
Насколько предложенный выше способ оптимален (текстовый файл ~4-8 мб). Может быть есть более удачные идеи. Нужно, чтобы сам справочник был именно на HTML.
В JS не очень хорошо разбираюсь. Код не обязательно, хотя бы подскажите в какую сторону копать (или вообще отказаться от этой идеи).

Последний раз редактировалось Scorch62, 31.01.2013 в 12:07.
Ответить с цитированием
  #2 (permalink)  
Старый 31.01.2013, 12:42
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Scorch62,
Подгрузить клиенту постепенно на LocalStorage(Можно Aяксом и по частям, дабы не перегружать пользователя)
максимальный объем LocalStorage 5 мегов
Ответить с цитированием
  #3 (permalink)  
Старый 31.01.2013, 12:52
Новичок на форуме
Отправить личное сообщение для Scorch62 Посмотреть профиль Найти все сообщения от Scorch62
 
Регистрация: 31.01.2013
Сообщений: 8

Сообщение от Deff Посмотреть сообщение
... дабы не перегружать пользователя
если вы о трафике, то с этим не будет проблем, потому что все файлы будут записаны на диск и пользователь будет просматривать материал оттуда. Вопрос скорее в том, как вытащить данные из текстового файла (если это возможно) и вообще в каком формате хранить данные.
Я тут наткнулся на JSON, быстренько пробежался по статье, но так и не понял подойдет ли это для решения моей задачи.
Ответить с цитированием
  #4 (permalink)  
Старый 31.01.2013, 12:54
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Scorch62,
Эээ с компутера пользователя - я не знаю, возможно jsonp - продойдет, хотя не уверен, всегда первичную подгрузку делал с инета
Ответить с цитированием
  #5 (permalink)  
Старый 31.01.2013, 13:01
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Можно тупо вставить контекст в файл зподгружаемого скрипта, типо так
<script src="Скрипты%20от%20пользовате ей%20%28Единый%20форум%20подде жки%29_files/watch000.js" type="text/javascript"></script>

Контекст в скрипте таков:
var aaaContent='если вы о трафике, то с этим не будет проблем, потому что все файлы будут записаны на диск и пользователь будет просматривать материал оттуда. Вопрос скорее в том, как вытащить данные из текстового файла (если это возможно) и вообще в каком формате хранить данные.\
\
 Я тут наткнулся на JSON, быстренько пробежался по статье, но так и не понял подойдет ли это для решения моей задачи\
Всё';

Недостатки: Каждый конец строки или пустую строку нужно заканчивать обратным слеш \
в тексте должны отсутствовать одинарные кавычки '
Файл желательно класть в корень диска и имя файла = англоязычное

Последний раз редактировалось Deff, 31.01.2013 в 13:04.
Ответить с цитированием
  #6 (permalink)  
Старый 31.01.2013, 13:34
Новичок на форуме
Отправить личное сообщение для Scorch62 Посмотреть профиль Найти все сообщения от Scorch62
 
Регистрация: 31.01.2013
Сообщений: 8

Deff,
кстати, да - хорошая идея, но...
мне ведь нужно в качестве контента хранить HTML-код (абзацы, списки, заголовки, классы). Разве нельзя экранировать кавычки и другие символы?
А за идею - большое спасибо, сегодня вечером попробую сделать.
Ответить с цитированием
  #7 (permalink)  
Старый 31.01.2013, 13:50
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Сообщение от Scorch62
Разве нельзя экранировать кавычки и другие символы?
можно: Одинарые кавычки и обратный слеш в контенте экранируем так:
\'

\\
Ответить с цитированием
  #8 (permalink)  
Старый 01.02.2013, 11:21
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Для локальных файлов не работает XHR. Но ведь можно просто подключать html-файлы с помощью тегов <script type="text/html src="xxx"></script>, а по onload выводить их содержимое куда нужно. Должно работать. Или старые добрые frame'ы.
Ответить с цитированием
  #9 (permalink)  
Старый 01.02.2013, 19:43
Новичок на форуме
Отправить личное сообщение для Scorch62 Посмотреть профиль Найти все сообщения от Scorch62
 
Регистрация: 31.01.2013
Сообщений: 8

danik.js, спасибо, но создавать более 100 страниц не очень-то удобно.
Пока решение с хранением контента в переменных - самое удобное (учитывая, что js не поддерживает работу с файлами; а так получается что-то вроде примитивной базы данных).

Вот еще один вопрос появился. Есть вот эта примитивная "база данных"
var main= 'Содержимое страницы main',
another = 'Содержимое страницы another';

есть меню и блок для контента
<a href='#main'>Страница 1</a>
<a href='#another'>Страница 2</a>
...
<div id='content'></div>

Как при клике на ссылку #another вывести содержимое переменной another? (т.е. в адресе ссылки хранится название переменной) Можно с jQuery.
Ответить с цитированием
  #10 (permalink)  
Старый 01.02.2013, 20:07
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

$('a').click(function(e){
    var anchor = this.href.split('#').pop();
    location.hash = anchor;
    $('#content').innerHTML = window[anchor];
    e.preventDefault();
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Подгрузка страниц по клику. Vladimir_Kl AJAX и COMET 9 04.06.2012 19:42
Подгрузка информации через DIV с обработкой файла на стороне сервера Azartno jQuery 1 26.05.2012 15:07
Редактирование текстового файла по средствам JS Sprat Общие вопросы Javascript 3 12.01.2012 13:14
Как узнать размер загружаемого файла? shkarbatov Серверные языки и технологии 5 14.08.2011 17:12
Проблема с загрузкой файла на сервер shkarbatov Серверные языки и технологии 8 13.08.2011 01:27