Фильтр по:
  

  • Страница 1 из 1
  • 1
Модератор форума: likbezz  
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » JS Как сделать ложное всплывающее окно (Не могу понять, как сделать всплывающее окно в скрипте JS)
JS Как сделать ложное всплывающее окно
Дата: Суббота, 26.04.2014, 20:42 |
PuerMAN
Сержант
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 0
Статус: Offline


Всем доброго времени, попробую объяснить что я хочу.

Нашел хороший JS скрипт, который дает возможность жаловаться на видео материалы если они не работают.
На своем сайте я использую подобный JS скрипт, но переделанный мной без знаний JS, только сильно не смейтесь))), сейчас опишу его работу и покажу скрины.

На каждой странице, где есть видео стоит кнопка нажав на нее появляется такое окно:

1. Если проблема на сайте с нашей стороны, например видео удалено то пользователь жмет галку и мне на мыло приходит сообщение.
2. Если например таймаут операции или какая то другая причина:


Во втором случае идет переход на обычную картинку, просто открывается на странице картинка. И я письма не получаю. Выглядит и работает это страшно некрасиво))) Да и многие понимают что фейк.

Такое решение исправило одну серьезную проблему, когда любая жалоба приходила на мыло, было много ложных "тревог".

Нашел можно сказать тоже самое что я хотел, но полностью на скрипте и нормально работающую:


Установка:
1. Создаём почтовую форму с следующими параметрами:
- E-mail отправителя
- Тема письма
- Текст сообщения
- Ссылка (text)

2. Это ставим в Нижнюю часть сайта:
Код
<script type="text/javascript">
var form_id = 4; // Замените на ID созданной вами формы
$.getScript("ccылка на js скрипт ");
</script>


var form_id = 4; - Укажите ID обратной формы

3. Это ставим в нужное место:

Код
<a href="javascript://" onclick="trane73.report()">Сообщить о проблеме</a>


4. Создаем js документ и загружаем код в него:

Код
/*
* Автор скрипта: http://trane73.ru/
* 05.02.2013 (TRANE73)
* Сообщение о проблеме [uWnd - Почтовые формы] для uCoz
* Изменение этих строк запрещено
*/

var trane73 = {
report: function () {
new _uWnd('report','Сообщить о проблеме', 450, 350, {
alert: 1,
modal: 1,
resize: 1,
fadespeed: 600,
align: 0
},
'<div align="center"><strong><h3>Пожалуйста, укажите проблему, которую вы обнаружили</h3></strong></div><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера надпись: "Это видео изъято из публичного доступа"</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера надпись: "Данная видеозапись закрыта приватностью и недоступна для просмотра</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера черный фон без надписей</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Перепутан номер серии, выпуска или сезона</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Видеозапись обрывается, недоходя до конца</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>В видеозаписи нет звука или звук очень плохого качества</span></label><br /><label><input type="radio" name="variable" class="report" /> Ваш вариант сути проблемы: <input type="text" name="report" value="" maxlength="200" size="40" /></label><div align="center"><input type="button" value="Отправить уведомление" onclick="trane73.reportSend()" /></div>');
},
reportSend: function() {
if($('[name="variable"]:checked').length) {
$.post("/mail", {
jkd498: 1,
jkd428: 1,
f1: 'report@' + document.domain,
f2: 'Сообщение о проблеме',
f3: $('[name="variable"]:checked').parent().find('[name="report"]').length ? $('[name="variable"]:checked').parent().find('[name="report"]').val() : $('[name="variable"]:checked').parent().find('span').text(),
f4: location.href,
id: form_id,
a: 1,
o: 1
}, function(data) {
_uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1})
_uWnd.close('report')
})
} else
alert('Не выбран ни один вариант проблемы!')
}
};


Сама проблема заключается в создании новой функции которая бы запускала при нажатии на ratio окно в котором бы сообщалось что ваше сообщение доставлено. Но на самом деле оно бы не доставлялось.

Код
<div align="center"><strong><h3>Пожалуйста, укажите проблему, которую вы обнаружили</h3></strong></div><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера надпись: "Это видео изъято из публичного доступа"</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера надпись: "Данная видеозапись закрыта приватностью и недоступна для просмотра</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Вместо плеера черный фон без надписей</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Перепутан номер серии, выпуска или сезона</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>Видеозапись обрывается, не доходя до конца</span></label><br /><label><input type="radio" name="variable" class="report" /> <span>В видеозаписи нет звука или звук очень плохого качества</span></label><br /><label><input type="radio" name="variablee" class="report"><span>[b]Ложное сообщение[/b]</span></label><br><label><input type="radio" name="variable" class="report" /> Ваш вариант сути проблемы: <input type="text" name="report" value="" maxlength="200" size="40" /></label><div align="center"><input type="button" value="Отправить уведомление" onclick="trane73.reportSend()" /></div>


Получается нужно создать новое name="variablee" и задать ему новое всплывающее окно при его активации и нажатии поля value="Отправить уведомление"
Подскажите с какого места или можно ли как то в конце прописать обращения к скрипту, по правилам написания вне скрипта нельзя обращаться к объектам внутри скрипта. Я сколько раз пробовал, у меня вообще скрипт перестает запускаться sad Никаких реакций(((

Прикрепления: 2343872.png (24.6 Kb) · 3880726.png (16.9 Kb) · 3687082.png (20.2 Kb)

Сообщение отредактировал PuerMAN - Понедельник, 28.04.2014, 01:40
 
Дата: Воскресенье, 27.04.2014, 02:32 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


PuerMAN,
Цитата PuerMAN, Сб, 26.04.2014, 20:42:48
Подскажите с какого места или можно ли как то в конце прописать обращения к скрипту, по пр

Просто сделать проверку на то, где именно стоит галочка.
И если стоит на чекбоксе со словом «ложная» выводить фальш-окно и выходить из функции, без отправки сообщения.
Типа:
Код
reportSend: function() {
if($('[name="variable"]:checked').length) {
if($('[name="variable"]:checked').parent().find('span').text().indexOf('Ложное')!=-1){
  _uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1});
  _uWnd.close('report');
  return;
};
$.post("/mail", { ...


 
Дата: Воскресенье, 27.04.2014, 18:33 |
PuerMAN
Сержант
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 0
Статус: Offline


Проверил работает))) Ложное заменил на Тайм-аут операции.

Код
[quote=likbezz, [url=http://likbezz.ru/forum/60-1717-37500-16-1398551563]Вс, 27.04.2014, 04:32:43[/url]]if($('[name="variable"]:checked').parent().find('span').text().indexOf('Ложное')!=-1){    
     _uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1});    
     _uWnd.close('report');    
     return;    
}; [/quote]


Возник еще вопрос, например я захочу добавить больше ложных полей?

Код
[quote=likbezz,]reportSend: function() {    
if($('[name="variable"]:checked').length) {    
if($('[name="variable"]:checked').parent().find('span').text().indexOf('Ложное')!=-1){    
     _uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1});    
     _uWnd.close('report');    
     return;    
};    
if($('[name="variable"]:checked').parent().find('span').text().indexOf('Ложное2')!=-1){    
     _uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1});    
     _uWnd.close('report');    
     return;    
};
$.post("/mail", {[/quote]


Я вот так сделал, работает. Может как то короче можно через запятую, что то вроде перечислить условия, если Ложное,Ложно2,Ложное3?


Сообщение отредактировал PuerMAN - Воскресенье, 27.04.2014, 18:36
 
Дата: Воскресенье, 27.04.2014, 22:15 |
likbezz
Аццкий кодер
Группа: Администраторы
Сообщений: 9093
Награды: 23
Репутация: 459
Статус: Unknown


Цитата PuerMAN, Вс, 27.04.2014, 18:33:11
Возник еще вопрос, например я захочу добавить больше ложных полей?

Тогда типа так:
Код
if($('[name="variable"]:checked').length) {
var vtext=$('[name="variable"]:checked').parent().find('span').text();
if(vtext.indexOf('Ложное')!=-1 || vtext.indexOf('Ложное2')!=-1){       
        _uWnd.alert("Ваше сообщение успешно отправлено!", "Успешно", {close: 1});       
        _uWnd.close('report');       
        return;       
};
...


Цитата PuerMAN, Вс, 27.04.2014, 18:33:11
Может как то короче можно через запятую, что то вроде перечислить условия, если Ложное,Ложно2,Ложное3?

- используется «||» - означает «или»
Ну а текст - в переменную - «vtext», что бы не тащить гору кода..


 
Дата: Понедельник, 28.04.2014, 05:13 |
PuerMAN
Сержант
Группа: Проверенные
Сообщений: 30
Награды: 0
Репутация: 0
Статус: Offline


Цитата likbezz, Пн, 28.04.2014, 00:15:09
- используется «||» - означает «или»
Ну а текст - в переменную - «vtext», что бы не тащить гору кода..


Спасибо за помощь, скрипт работает как нужно, вообще доволен))))


 
Скрипты и коды для юкоз - Форум аццкого кодера » Как сделать? Информация для вновь прибывших » Как сделать... » JS Как сделать ложное всплывающее окно (Не могу понять, как сделать всплывающее окно в скрипте JS)
  • Страница 1 из 1
  • 1
Поиск:


Мобильная версия