- Поисковые системы
- Практика оптимизации
- Трафик для сайтов
- Монетизация сайтов
- Сайтостроение
- Социальный Маркетинг
- Общение профессионалов
- Биржа и продажа
- Финансовые объявления
- Работа на постоянной основе
- Сайты - покупка, продажа
- Соцсети: страницы, группы, приложения
- Сайты без доменов
- Трафик, тизерная и баннерная реклама
- Продажа, оценка, регистрация доменов
- Ссылки - обмен, покупка, продажа
- Программы и скрипты
- Размещение статей
- Инфопродукты
- Прочие цифровые товары
- Работа и услуги для вебмастера
- Оптимизация, продвижение и аудит
- Ведение рекламных кампаний
- Услуги в области SMM
- Программирование
- Администрирование серверов и сайтов
- Прокси, ВПН, анонимайзеры, IP
- Платное обучение, вебинары
- Регистрация в каталогах
- Копирайтинг, переводы
- Дизайн
- Usability: консультации и аудит
- Изготовление сайтов
- Наполнение сайтов
- Прочие услуги
- Не про работу
Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий
Здравствуйте!
Вот такая вот ситуация:
Есть страница (гипотетически) достаточно тяжелая (графика, скрипты и т.п.)
И нужно сделать пароль к этой странице (самый простой, который только может быть)
Идея в чем - человек заходит на эту страницу, условно: site.ru/page.htm
Первое что он видит - форма ввода пароля. Пока он соображает что делать, пока вводит пароль, пока жмет на кнопку - в это время идет загрузка страницы.
Как только он ввел пароль - форма исчезает и сразу появляется то что уже загружено (или все или то что успело загрузится)
Мысль такая - два div'а - в первом (видимом) - сама форма пароля, во втором (display:none) - собственно и идет загрузка основного содержимого.
<div id="v1" style="display:block"> - это для пароля
<div id="v2" style="display:none"> - здесь загрузка содержимого
Как только чел ввел пароль - div-ы сразу "меняются" стилями
document.getElementById('v2').style.display='block'
document.getElementById('v1').style.display='none'
Вот нужна реализация - как это сделать?
Т.е. ввел пароль - жмакнул ОК - произошло событие
Обратной "смены" не требуется.
Проверка на правильность пароля - самая простая. Вполне достаточно правильный ответ подгрузить незаметно сразу со страницей. Или в каком-нибудь js-файле извне заинклюдить. Пароль простой - набор мелких латинских букв.
------------------
Заранее большое спасибо!
Если мы будем ставить пароль на страницу и подгружать то что закрыто от него, я думаю понятно что будет, он сможет получить доступ и без пароля к содержимому страницы.
Лучше постараться её оптимизировать, я думаю можно добиться большего.
повесить в событие на отправку формы ещё и
document.getElementById('v1').style.display='none'
minor, вы правы. Но в данном случае - пароль это формальность. Защита от дурака, скажем так.
55559939 - Могу помочь со скриптом
повесить в событие на отправку формы ещё
хм.... А вот так будет работать? Или это нерабочая схема?
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Proverka()
{
var protv="qwerty";
if(Pass.pwrd.value != protv)
alert("Ошибка при вводе пароля\nПопробуйте еще раз");
else
{
document.getElementById('v2').style.display='block'
document.getElementById('v1').style.display='none'
document.forms[0].submit();
}
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<div id="v1" style="display:block">
<FORM METHOD=POST NAME="Pass" ACTION="http://site.ru/page.htm">
<TABLE>
<TR><TD><B>Пароль:</B></TD><TD><INPUT TYPE="password" NAME="pwrd" SIZE="20"></TD></TR>
<TR><TD><INPUT TYPE="button" VALUE="Go" onClick="Proverka();"></TD></TR>
</TABLE>
</FORM>
</div>
<div id="v2" style="display:none">
<!-- основной контент -->
</div>
</body>
</html>
хм.... А вот так будет работать? Или это нерабочая схема?
<HEAD>
<SCRIPT LANGUAGE="JavaScript">
<!--
function Proverka()
{
var protv="qwerty";
if(Pass.pwrd.value != protv)
alert("Ошибка при вводе пароля\nПопробуйте еще раз");
else
{
document.getElementById('v2').style.display='block'
document.getElementById('v1').style.display='none'
document.forms[0].submit();
}
}
// -->
</SCRIPT>
</HEAD>
<BODY>
<div id="v1" style="display:block">
<FORM METHOD=POST NAME="Pass" onsubmit="Proverka();" ACTION="http://site.ru/page.htm">
<TABLE>
<TR><TD><B>Пароль:</B></TD><TD><INPUT TYPE="password" NAME="pwrd" SIZE="20"></TD></TR>
<TR><TD><INPUT TYPE="button" VALUE="Go"></TD></TR>
</TABLE>
</FORM>
</div>
<div id="v2" style="display:none">
<!-- основной контент -->
</div>
</body>
</html>
Тогда вот так лучше.
А вот так будет работать? Или это нерабочая схема?
по идеи да,
только кажется вот это лишнее
и нужно добавить return false
Есть минус display:none не влияет на загрузку страници, даже если контент спрятан он все равно будет загружатся. Если в скрытом диве данные с сервера берутся, то есть смысл получать их через аякс это зарузит основную страницу а скрытый див будет в "фоновом" загружатся. Так же лучше использовать Jquery, все будет намного проше.
На загрузку страницы влияет хостинг (мошность процессора), по возможности нужно найти хостинг с поддержкой eaccelerator, mod_deflate, mod_expires. Так же изображение обработать в фотошопе если они весомые и много чего еше можно сделать=).
Это защита от дураков. Скрытую информацию нужно грузить только после проверки пароля. А там, каким способом (POST, Ajax), уже не важно. А костыль с display:none рушится нажатием двух клавиш - Ctrl + U.
function show_form(){
$("#popup").show();
$("#fog").show();
}
function hide_content(){
$(".wrap").hide();
}
$(document).load(function(){
show_form();
hide_content();
});
$(document).ready(function(){
//Функция проверки пароля и вывода контента
})