Модераторы: Sardar, Aliance

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Загрузка с файла 
:(
    Опции темы
vio
Дата 26.7.2005, 12:36 (ссылка)    | (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Можно ли такое реализовать при помощи JavaScript?
Есть, к примеру, файл txt и в нем Х строк.
Мне нужно что бы при загрузке страницы вставлялась в ячейку случайная строка.
PM MAIL   Вверх
Sardar
Дата 26.7.2005, 19:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Можно. Для этого поднимаем XMLHttpRequest(набери слово в поиске), загрузили текстовый файл, разбили responseText регами на строки, посчитали.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 27.7.2005, 10:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Это уж больно сложно, мне нужно то, что бы при загрузке страницы менялась одна строка,
может я не правильно понимаю как ее реализовывать. Может проще через массив?
PM MAIL   Вверх
Sardar
Дата 27.7.2005, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Естественно проще написать .js файл, в нём определить массив строк smile

Ещё лучше если ты на сервере будешь выбирать строку и отдавать клиенту, а не тащить весь массив за собой, трафа меньше.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 28.7.2005, 09:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



smile массива!
PM MAIL   Вверх
Sardar
Дата 28.7.2005, 13:55 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Элементарно smile

Код
//это содержимое файла data.js
var data=[
 "строка 1",
 "строка 2",
 "помимо строк здесь что угодно лежать может"
];


Затем на основной странице пишем:
Код
<script type="text/javascript" src="./data.js"></script>
<scipt type="text/javascript">
if(typeof(data)!="undefined") {
  alert(data[Math.round(data.length*Math.random())]); //выберем случайную строку
}</script>


Сам массив с данными может генериться на сервере скриптами. Сам элемент <script> можно создавать динамически. Отсюда прийдём к не плохому методу динамической подзагрузки данных smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 29.7.2005, 08:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



СПАСИБО! Очень помогло, а главное то, что нужно! smile
PM MAIL   Вверх
vio
Дата 5.8.2005, 08:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Sardar
Потребовалось что бы было не просто строка: "строка1", а еще должны быть символы разрыв строки, типа "/n". Как сделать?
PM MAIL   Вверх
Sardar
Дата 5.8.2005, 17:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Экранируем символы, обычные \n - перевод строки, \r возврат каретки, \uHHHH - юникод и т.д.
Это обычные строки JS smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 8.8.2005, 11:03 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Так?
Код

var data=[
 "строка 1"+"\n"+"строка1-1",
 "строка 2"+"\n"+"строка2-1",
 "помимо строк здесь что угодно лежать может"+"\n"+"ffffff"+"\n"
];

только у меня вместо переноса строки почему-то пробелы появляются.
PM MAIL   Вверх
Sardar
Дата 8.8.2005, 18:23 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Плюсы убери, пиши цельной строкой: "Строка 1\nСтрока2";
Цитата(vio @ 8.8.2005, 10:03)
олько у меня вместо переноса строки почему-то пробелы появляются.

Угу, ведь не известно что ты потом дальше с этими строками делаешь smile
Если показать в alert'е, то всё должно работать. Если же вставить в HTML, то согласно спеcификации HTML(4.0) перевод строки делаеться тегом <br>. Исключение для тегов со стилем white-space: pre, например <pre> тег.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 9.8.2005, 08:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Вот содержимое файла data.js
Код

var data=[
 "строка 1\nстрока1-1",
 "строка 2\nстрока2-1",
 "помимо строк здесь что угодно лежать может\nffffff"
];

А это я вставляю в HTML в тело документа:
Код

<script type="text/javascript" src="./data.js"></script>
    <script type="text/javascript">
    if(typeof(data)!="undefined") {
      document.write(data[Math.round(data.length*Math.random())]); 
    }</script>


Где может быть что-то не так?
PM MAIL   Вверх
Sardar
Дата 9.8.2005, 15:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Повторяю: перевод строки в JS это символ \n, в то же время это просто пробельный символ в HTML. На то две разные спецификации smile
Если знаком с HTML, то ты знаешь тег для "перевода строки", вот его на место \n и поставь. Если тега не знаешь, то перечитай мой предидущий пост.


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
vio
Дата 10.8.2005, 08:17 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.9.2004

Репутация: нет
Всего: нет



Поняла:
Код

var data=[
 "строка 1<br>строка1-1",
 "строка 2<br>строка2-1",
 "помимо строк здесь что угодно лежать может<br>ffffff"
];


Добавлено @ 08:20
Только у меня почему-то иногда появляется "undefined". Это отчего может быть?
PM MAIL   Вверх
Sardar
Дата 10.8.2005, 16:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бегун
****


Профиль
Группа: Модератор
Сообщений: 6986
Регистрация: 19.4.2002
Где: Нидерланды, Groni ngen

Репутация: 78
Всего: 317



Цитата(vio @ 10.8.2005, 07:17)
Только у меня почему-то иногда появляется "undefined". Это отчего может быть?

Ошибка в твоём коде. Выкладывай, поишем. Но лучше открой новую тему в разделе для новичков, а то чую придёться резать эту smile


--------------------
 Опыт - сын ошибок трудных  © А. С. Пушкин
 Процесс написания своего велосипеда повышает профессиональный уровень программиста. © Opik
 Оценить мои качества можно тут.
PM   Вверх
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0945 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.