Красносельский
Константин
Константинович

Компьютер и программы

Веб-дизайн

Справочники

Документация по CSS1

Настройка файла .htaccess

Коды ошибки http сервера

Подстановочные символы и регулярные выражения

Спецификация файла robots.txt

SSI – Server Side Includes

Таблица кодировки символов кириллицы

Нестандартные символы в HTML

Вторая таблица символов HTML

MIME Types (типы файлов)

 

Советы начинающим

Как в PHP поместить enum в массив

Советы начинающим Веб-дизайнерам: Что, где и зачем.

Правила плохого тона

WEB-уловки

Камень предкновения: верстка таблицами или блоками?

Рекомендации по разработке веб сайта

 

Анализ WEB-конъюнктуры. Создание лучшего сайта и его раскрутка.

Анализ WEB-конъюнктуры

Предисловие

Приручение поисковых машин

Уровень документа - все гениальное просто

Благоустройство нор для поисковых червей или как водить пауков по нашей паутине

Ускорение индексации сайта

Если гора не идет к Магомету

Индекс цитирования

Что это такое и с чем его едят

Приобретение веса в глазах общественности

Послесловие

Последние замечания по интернет-раскрутке

 

Приложения

А: «Рекомендации лучших пауководов»

Краткий комментарий.

Советы специалистов поисковой системы Rambler.

Использование файлов robots.txt.

Часто задаваемые вопросы.

Советы специалистов поисковой системы Aport.

Регистрация сайта в Апорте.

Советы специалистов поисковой системы Yandex.

Добавление страниц

Индексирование

Положение страницы на выдаче

Поиск со своей страницы

Ответы на часто задаваемые вопросы

 

Б: «1000 сверх-сайтов Рунета»

1000 сверх-сайтов Рунета

 

В: «Сто наиболее популярных поисковых слов»

Сто наиболее популярных поисковых слов

 

Г: «Где это сделать?»

Где это сделать?

 

Д: «Практическое руководство!!!»

Краткий комментарий.

Окна, ссылки и меню.

Ссылки и окна. Внешний вид и внутреннее содержание.

Организация ссылок. Всевозможные оглавления.

Если вам не нравятся фреймы, значит, вы не умеете их готовить.

Меню из выпадающих списков (javascript и CSS).

Многоуровневое раскрывающееся меню (javascript и CSS).

Работа с базами данных.

Обработка баз данных браузером посетителя

Обработка баз данных сервером (PHP)

Взаимодействие с посетителем

Отправка писем с веб-страницы.

Формы

Методы форм.

Создание на сайте PHP голосования.

Регистрация и контроль посетителей (PHP).

Интерактивность материала.

Создание гостевой книги на PHP.

Удаление записей из текстовых баз (PHP).

Заргузка файлов на сервер по HTTP-протоколу (PHP).

Разное.

Псевдослучайные элементы (PHP, javascript).

Точное определение имени и версии браузера с помощью JavaScript, SSI или PHP

Клоакинг и технология «Входных дверей».

Отложенное выполнение и выполнение с заданным интервалом (javascript)

Информация о размере, дате, собственные счетчики и протоколы посещений

 

 

 

Консультации

Экспорт и импорт новостей

PHP chmod – права доступа к файлам

WEB 2.0 – миф, или реальность?

Давно забытый AJAX

Способы хранения веб-страниц: документы FrontPage или базы данных

Как заработать на своем сайте?

FTP клиент, как настроить Total Commander

Знак собаки @ и подавление ошибок в PHP

AJAX

AJAX с точностью до наоборот, или как научить AJAX сохранять историю в браузере

 

Мониторинг веб сайтов и анализ поисковых запросов

Документация по Веб-дизайну

Желающим скачать PHP скрипт или JavaScript

 

Литература и поэзия

Гуманитарные науки

Хронология материалов

Обращение к посетителям

Скачать шрифты

Скачать рефераты

Создание web сайта на заказ

Создание веб сайтов (цены)

Веб-сайты, созданные мной (потенциальным заказчикам)

Полезные ссылки

Об авторе

Статистика сайта

 

Web На сайте

 

 

 

ТаблицейБлоками.

Приложение Д: javascript число, Псевдослучайные случайные элементы PHP

Последняя модификация: 10.08.2014 г

Страница загружена с адреса: http://webdesign.site3k.ru/conjuncture/append/d/random.html

Моя студия веб-дизайна

Псевдослучайные элементы.

  1. Баннерокрутилка на JavaScript
  2. Баннерокрутилка на PHP

Иногда может потребоваться включать в страницы один или несколько элементов из некоего набора элементов, так, чтобы они, по возможности не повторялись и, на достаточно большом количестве страниц были представлены все. Это может понадобиться для вывода на страницу каких-нибудь девизов или анекдотов, из заранее подготовленного списка, или рекламы товаров и услуг. Часто это применяется для прокрутки баннеров (возможность устроить собственную баннерную сеть).

Баннерокрутилка на JavaScript

С применением JavaScript, в том месте страницы, где должен произойти вывод, можно вставить следующий код:

<SCRIPT LANGUAGE="JavaScript" src="baners.js"></SCRIPT>

Остальное будет находиться в отдельном файле «baners.js», который будет загружаться только с первой страницей и, в дальнейшем, выполнятся прямо из кэша на компьютере посетителя, уменьшая, тем самым, трафик и время загрузки остальных страниц. Кроме того, при необходимости откорректировать код, корректировать придется только один файл «baners.js», а не все файлы, в которых должен отобразиться результат.

Код файла baners.js основан на генерации случайного числа. Некоторые дизайнеры используют для этого конструкцию типа:

var j=(new Date()).getSeconds() % 3;

Довольно странный способ получить случайное число.

Другие используют округление случайного числа, умноженного на 10 в какой-нибудь степени:

rndnum = Math.round(Math.random() * 10000);

Однако, есть способ получше:

Math.floor(Math.random()*n) где n - верхняя граница диапазона (случайное число от 0 до n, НЕ включая n).

Приведу пример баннерокрутилки:

baners.js

strcount=2;// сколько строк выводить

ar=[ // поскольку случайный элемент удобно брать из массива, создаем массив данных
"Мы не можем знать заранее высоту или ширину окна браузера у посетителя сайта, но можем определить их с помощью <font color=red>document.body.clientHeight</font> и <font color=red>document.body.clientWidth</font> (для Нетскейпа это <font color=red>window.innerHeight</font> и <font color=red>window.innerWidth)</font>", 
"<font color=red>document.body.scrollHeight</font> возвращает полную высоту загруженной части документа с учетом возможной прокрутки", 
"Для автоматической переброски на другую страницу следует использовать либо скрипт <font color=red>window.location.href ='НОВЫЙ_АДРЕС'</font>, либо тег <font color=red><meta http-equiv='refresh' content='0;URL=НОВЫЙ_АДРЕС'></font>", 
"Для возможности быстро корректировать баннерные коды, их лучше включать в страницу либо по SSI-внедрению, либо как внешний JavaScript"
]; 

datacount=ar.length;// количество данных (максимальный индекс элемента)
if(strcount > datacount){
	strcount=datacount; // если количество выводимых строк превысило количество данных,
	// количество выводимых строк сравняем с количеством данных и будем выводить все, просто в случайном порядке
}

a='';
for (i = 0; i < strcount; i++) {// выбрать номер индекса для всех строк
	do{
		value=Math.floor(Math.random()*datacount);// получим случайное число от 0 до datacount и превратим его в строку
	}while(a.indexOf("'"+value+"'")>=0);// пока не выпадет еще не используемый номер (исключение повторов)
	// поскольку в яваскрипте нет поиска значений в массиве и, чтоб не делать цыкл со сравнением элементов
	a=a+"'"+value+"'"; // занесем значения в строку, обрамив кавычками
	document.writeln('<p>'+ar[value]);// вывести строку с таким номером
}

 

Этот код легко адаптировать под любое количество баннеров. Легко адаптировать под другие задачи. При любом способе применения, скрипт даст положительный эффект, ведь даже на одной и той же странице, при каждой ее перезагрузке, постоянно будет что-то новенькое. Так можно внести разнообразие даже в статический материал.

Для примера ниже продемонстрирован вывод "Советов дня" по одному из 4-х заранее заготовленных советов. Кнопка "Обновить" позволит просмотреть другие советы (если на вашей странице нужно листать советы, то лучше добавить кнопку, которая заново вызовет только сам скрипт советов).

Баннерокрутилка на PHP

В некоторых ситуациях лучше применить не скрипт, обрабатываемый браузером, а скрипт, обрабатываемый сервером. Таким скриптом может быть, скрипт на PHP, включенный в страницу инструкцией

<!--#include virtual="/_rand.php" -->

Не буду изобретать велосипед, а продемонстрирую готовый, недавно написанный скрипт.

Задача скрипта заключается в выведении 6 случайных строк. Вот содержимое файла _rand.php.

_rand.php

<?php
@$ar=file('slova.txt');// откуда брать данные
if(@$ar){
	$strcount=6;// сколько строк выводить

	$datacount=(sizeof($ar));// количество данных (максимальный индекс элемента)
	if($strcount > $datacount){
		$strcount=$datacount; // если количество выводимых строк превысило количество данных,
		// количество выводимых строк сравняем с количеством данных и будем выводить все, просто в случайном порядке
	}
	$datacount--;// уменьшим индекс, с учетом того, что нумерация идет с ноля

	$a=array();
	for ($i = 0; $i < $strcount; $i++) {// выбрать номер индекса для всех строк
		do{$value=mt_rand(0, $datacount);}while(in_array($value,$a));// пока номер совпадает с теми, что уже выбраны
		$a[$i]=$value;// при получении уникального номера добавить в массив
		echo '<p>'.$ar[$value];// вывести строку с таким номером
	}

	unset($a,$datacount,$strcount,$value);
}
unset($ar);
?>

 

Затрудняюсь сказать, какой код проще и надежней. Выбор между JavaScript и PHP в данном случае, скорее, зависит от личных предпочтений.

 

Комментарии к странице (всего 1)

 

 

 


На главную страницу сайта