Вывод произвольной строки из файла с помощью JavaScript
Наверняка все где ни будь на страничке видели вывод произвольной фразы.
Как это делается?
Вставка произвольной строки в большинстве случаев вставляется в документ на стороне сервера, это достигается использованием JSP, Perl, PHP, ASP, в редких случаях это Java applet работающий на стороне клиента .
Но как это сделать тому у кого нет доступа к данным технологиям?
Предлагаю вашему вниманию пример вставки произвольной строи в документ с помощью JavaScript.
Данный скрипт выводит произвольную строку (фразу Фоменко).
! В JavaScript нет функции загрузки файла! Как быть?
Создаём файл index1.html и два фрейма:
<html;> <frameset; rows="0%,100%"> <frame; src="0.html" name="frame1"> <frame; src="index3.html" name="frame2"> </frameset> </html>
Заметьте что первый (именно первый, так как если фреймы поменять местами работать не будет!) размером 0, чтобы его не было видно.
В первый фрейм загружаем файл 0.html следующего содержания:
<html;> <body;> <a; href="a" name="Рожденный брать, давать не может"> <a; href="a" name="Я избавился от 80 кг лишнего веса. Я наконецто развелся"> <a; href="a" name="Кто в армии служил, тот в цирке не смеется"> <a; href="a" name="Семь раз отпей , один раз отлей"> <a; href="a" name="Вы не любите кошек? да вы просто готовить не умеете"> <a; href="a" name="Вытри слюни с пальто, замерзнут - порежешься"> <a; href="a" name="Сбылась мечта патриота"> <a; href="a" name="Кузькина мать зовет"> <a; href="a" name="Непоколебимая женщина - это женщина, которая всегда отдается без колебаний"> <a; href="a" name="Счастье - есть, и пить - тоже счастье"> <a; href="a" name="В ногах правды нет, она между ними"> <a; href="a" name="Я не злопамятный, я просто злой, и у меня память хорошая"> <a; href="a" name="Девушки не ходите замуж за иностранца, поддержите отечественного производителя"> <a; href="a" name="Деньги не пахнут потому что их отмывают"> <a; href="a" name="Избушка, как тебе не стыдно, к лесу - задом"> <a; href="a" name="Мышки плакали и кололись но все равно продолжали жрать кактус"> <a; href="a" name="Чем больше выпьет Комсомолец, тем меньше выпьет хулиган"> <a; href="a" name="Волшебная мама Аладина исполняет любые 3 желания"> <a; href="a" name="Рожденный ползать упасть не может"> <a; href="a" name="Житель Непала - это тот, кто зачат не палкой и не пальцем"> </body> </html>Где вместо имён ссылок пишем наши фразы.
Во второй фрейм загружаем файл index2.html:
<html;> <head;> </head> <body;> <script; language="JavaScript"> num1=Math.ceil(Math.random()*19); a=parent.frame1.document.anchors[num1]; document.write(a.name); </script> </body> </html>
Что мы делаем?
num1=Math.ceil(Math.random()*19);
Получаем случайное число.
a=parent.frame1.document.anchors[num1];
Получаем ссылку под номером num1
document.write(a.name);
и выводим её имя в документ (а имя и есть фраза?).
Но как быть если у меня много фраз и файл получается огромным и долго грузится через Инет, что раздражает посетителей?– спросите вы.
Берём этот файл (у меня 520 фраз Фоменко) разбиваем его на 26 файлов с именами от 0. html до 25. html по 20 фраз (при этом размер файла не превышает 1.5 КБ), и заменяем содержимое нашего файл index2.html на следующее:
<html;> <head;> </head> <body;> <script; language="JavaScript"> num1=Math.ceil(Math.random()*25); parent.frame1.location.href=num1+".html"; num1=Math.ceil(Math.random()*19); a=parent.frame1.document.anchors[num1]; document.write(a.name); </script> </body> </html>
Добавленные строчки:
num1=Math.ceil(Math.random()*25);
Получаем случайное число.
parent.frame1.location.href=num1+".html";
В первом фрейме открываем другой файл.
Всё работает!