| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Загрузка с файла |
| Автор: vio 26.7.2005, 12:36 |
| Можно ли такое реализовать при помощи JavaScript? Есть, к примеру, файл txt и в нем Х строк. Мне нужно что бы при загрузке страницы вставлялась в ячейку случайная строка. |
| Автор: Sardar 26.7.2005, 19:50 |
| Можно. Для этого поднимаем XMLHttpRequest(набери слово в поиске), загрузили текстовый файл, разбили responseText регами на строки, посчитали. |
| Автор: vio 27.7.2005, 10:39 |
| Это уж больно сложно, мне нужно то, что бы при загрузке страницы менялась одна строка, может я не правильно понимаю как ее реализовывать. Может проще через массив? |
| Автор: Sardar 27.7.2005, 14:08 |
| Естественно проще написать .js файл, в нём определить массив строк Ещё лучше если ты на сервере будешь выбирать строку и отдавать клиенту, а не тащить весь массив за собой, трафа меньше. |
| Автор: vio 28.7.2005, 09:39 |
| |
| Автор: Sardar 28.7.2005, 13:55 | ||||
Элементарно
Затем на основной странице пишем:
Сам массив с данными может генериться на сервере скриптами. Сам элемент <script> можно создавать динамически. Отсюда прийдём к не плохому методу динамической подзагрузки данных |
| Автор: vio 29.7.2005, 08:57 |
| СПАСИБО! Очень помогло, а главное то, что нужно! |
| Автор: vio 5.8.2005, 08:38 |
| Sardar Потребовалось что бы было не просто строка: "строка1", а еще должны быть символы разрыв строки, типа "/n". Как сделать? |
| Автор: Sardar 5.8.2005, 17:08 |
| Экранируем символы, обычные \n - перевод строки, \r возврат каретки, \uHHHH - юникод и т.д. Это обычные строки JS |
| Автор: vio 8.8.2005, 11:03 | ||
Так?
только у меня вместо переноса строки почему-то пробелы появляются. |
| Автор: Sardar 8.8.2005, 18:23 | ||
Плюсы убери, пиши цельной строкой: "Строка 1\nСтрока2";
Угу, ведь не известно что ты потом дальше с этими строками делаешь Если показать в alert'е, то всё должно работать. Если же вставить в HTML, то согласно спеcификации HTML(4.0) перевод строки делаеться тегом <br>. Исключение для тегов со стилем white-space: pre, например <pre> тег. |
| Автор: vio 9.8.2005, 08:53 | ||||
Вот содержимое файла data.js
А это я вставляю в HTML в тело документа:
Где может быть что-то не так? |
| Автор: Sardar 9.8.2005, 15:00 |
| Повторяю: перевод строки в JS это символ \n, в то же время это просто пробельный символ в HTML. На то две разные спецификации Если знаком с HTML, то ты знаешь тег для "перевода строки", вот его на место \n и поставь. Если тега не знаешь, то перечитай мой предидущий пост. |
| Автор: vio 10.8.2005, 08:17 | ||
Поняла:
Добавлено @ 08:20 Только у меня почему-то иногда появляется "undefined". Это отчего может быть? |
| Автор: Sardar 10.8.2005, 16:13 | ||
Ошибка в твоём коде. Выкладывай, поишем. Но лучше открой новую тему в разделе для новичков, а то чую придёться резать эту |
| Автор: vio 11.8.2005, 12:12 | ||||
| В моем коде??? Я только чуть-чуть изменила твой.
и
|
| Автор: Sardar 11.8.2005, 14:41 |
| Извиняюсь, я ошибся Замени: Math.round на Math.floor |
| Автор: vio 12.8.2005, 11:29 |
| Работает!!! |