Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript

Модерирует : Cheery

 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

Открыть новую тему     Написать ответ в эту тему

taeash

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
AftarJjet. предполагаю что Chal действительна на непродолжительное время (несколько минут). Как сказал Cheery не имеет значения как эта цифра сгенерирована (скорее всего рандом), скорeе всего она держится на сервере, когда форма отправляется на сервер, все значения паролей для пользователей содежащихся  в таблице через md5(md5("salty" + пароль_на_момент_регистрации) + Chal) перебираются с принятым document.form1.response.value = strResp; на совпадение.  
 
Это если cookie нет, а если есть cookie (сохраненный при загрузки логин страницы с сервера на браузере), то в нем должен быть индекс позиции для Chal в списке всех sсгенерированных Chal на сервере. В случае с cookie случае время жизни Chal может быть не ограничена временной рамкой.  
 

Всего записей: 32 | Зарегистр. 07-11-2008 | Отправлено: 18:25 22-05-2013
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
смотрю существует тема "PHP: Полезные (интересные и оригинальные) решения".
А чего нет подобной для JavaScript ?

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 09:47 29-05-2013
Steriosux

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всю голову за два дня переломал...
Ситуация такая: есть ресурс на домене1, на нем модальное окно с другого домена, в модальном окне ифрейм с третьего домена. Как автоматически закрыть модальное окно, при условии, что js код будет запускаться с ифрейма.
Или как вариант - как перезагрузить страницу домена1 (второй раз окно не откроется).
Например, window.top.location = "http://www.google.ru/" работает, если же указать переменную, то ничего добиться не могу. Перепробывал вроде всеwindow.top, window.parent,
window.self

Может, кто подскажет?

Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 16:41 05-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Steriosux

Цитата:
если же указать переменную, то ничего добиться не могу

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

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:11 05-06-2013
Steriosux

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Вы меня обнадежили, начал копать дальше. Вообщем, я лоханулся. Редиректило с ифрейма на урл, а не первого домена. А первый домен по всей видимости не получить таким образом.  
Но. Копнул в другую сторону, при первой загрузке ифрейма первый домен передается как реферер, правда, после сабмита реферером естесно становится сам урл ифрейма. Вижу только один вариант - при первой загрузке реферер писать в базу, после сабмита читать реферер из базы.
up
Хотя не, тоже хреновый вариант. Это ж, если один домен, то легко... а если массово реклама пойдет, эмм... там хорошо подумать придется.  
Ааа... Проще забить. Пусть юзер сам закрывает это окно, лучше я ему крестик красивый сделаю

Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 23:13 05-06-2013 | Исправлено: Steriosux, 23:36 05-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Steriosux

Цитата:
а если массово реклама пойдет, эмм... там хорошо подумать придется.

имелось в виду, что на начальном домене надо расположить скрипт закрытия iframe
если домен не ваш, то и думать об этом нет смысла.

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 23:39 05-06-2013
Steriosux

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
имелось в виду, что на начальном домене надо расположить скрипт закрытия iframe
если домен не ваш, то и думать об этом нет смысла.

Да, домен не мой, так бы вопрос решался просто, конечно. Ну, да, ладно... во всем плюсы нужно искать - пока пробовал этот вопрос решить, много интересного узнал и прочитал, а опыт... я столько не пью, чтобы его пропить)))
 
p.s. В принципе задача решаемая. Не на js, конечно. Детект реферера, запись в базу, генерация куков с идентификатором юзера,  после сопоставление кука-реферер и выдача с последующим редиректом. Будут лаги правда, но в 90% случаев сработает. Но это, когда мне делать нефиг будет, а то что-то я о юзерах забочусь сильно, тут народ алерты в цикл ставит, чтобы окно браузера не закрывалось, а я им еще и окна автоматом с рекламой пытаюсь закрывать и чтобы второй раз глаза не мозолило, ваще че-то я уже  
 
update где-то утром ))
Выше с базами и т.д. бред)) Я все-таки решил эту проблему. И довольно просто.
При первом входе пишу в куки реферер, если кука записана - ок. После сабмита беру значение куки и делаю на нее редирект.

Всего записей: 913 | Зарегистр. 18-07-2006 | Отправлено: 00:04 06-06-2013 | Исправлено: Steriosux, 06:39 06-06-2013
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть скрипт который меняет в заданном элементе :
 
<div class="777">здесь текст</div>
 

Код:
$(function() { $.each ($('div.777'), function(i, item) { $(item).html($(item).html().replace('меняет это', 'на это')) }) })

 
Только он не работает в textarea :
 
<textarea><div class="777">здесь текст</div></textarea>
 
Подскажите как сделать чтоб работало.  
 

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 18:44 07-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco
дивы не могут находиться внутри textarea!
только текст

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:25 07-06-2013
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
А если без див?
<textarea>здесь текст</textarea>

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 20:49 07-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
А если без див?  
<textarea>здесь текст</textarea>

тогда работает, доступ через .val()

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:52 07-06-2013
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
тогда работает, доступ через .val()

А пример можно?, мне нужно
<textarea id="555">333337777799999000здесь текст</textarea>
 
 
здесь текст заменить на тогда работает
 
Жирным выделил для того чтоб понятно было.

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 20:57 07-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco
el = $('textarea');
el.val(el.val().replace('здесь текст', 'тогда работает'));

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:59 07-06-2013
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery

Цитата:
el = $('textarea');  
 el.val(el.val().replace('здесь текст', 'тогда работает'));

А как сюда id="555" прикрутить?
 
Вроде так  
el = $('textarea#555');
 
Cheery
То что нужно спасибо!
 

Цитата:
дивы не могут находиться внутри textarea!

А embed может находится?

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 21:16 07-06-2013 | Исправлено: BennyBlanco, 21:28 07-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
BennyBlanco

Цитата:
А embed может находится?

нет, внутри textarea может находиться только текст..
это как в <input value='сюда пытаетесь впихнуть html теги'>

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 21:31 07-06-2013
BennyBlanco



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Cheery
Понятно, спасибо за помощь  

Всего записей: 1992 | Зарегистр. 17-09-2009 | Отправлено: 21:36 07-06-2013
1234567890qwe



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть две функции, из полей получают значения и после выбора действия (сложить, вычесть и пр.) выполняется действие затем результат заноситься в поле. Вопрос в том что после добавления вызова функции Mat() в первую(в Func()), последняя строчка отказывается работать "document.getElementById("nC").value=res;", ошибок никаких нет тупо не выводит ничего даже копию банальной цифры из любого поля и причем такой баг появляется только после добавления вызова функции, или же самого цикла if в функцию Func() без всяких вызовов, просто перестает работать... если убрать все работает выводит значения полей к примеру или значение задаваемое цифрой..
в чем дело плиз кто знает может???
спасибо.  

Код:
 
function Func()
{
var valA;
var valB;
var res;
var spisok;
var val;
spisok=document.getElementById("sel");  
val=spisok.options[spisok.selectedIndex].value; //определили выбранное действие (сложить, вычесть итп)
valA=document.getElementById("nA").value;  //значение поля А
valB=document.getElementById("nB").value; // значение поля В
res=Mat(valA,valB,val);  // вызываем вот эту злополучную функцию после которой следующая строчка не работает, даже если сюда ставить просто сам цикл "if"
document.getElementById("nC").value=res; //здесь в поле выводим ответ, а он не выводит вооще ничего
}  
 


Код:
 
function Mat(vA,vB,vV)
{
var result;
 
if (vV==s1)
  {
   result=vA+vB;
  }
else if (vV==s2)
  {
  result=vA-vB;
  }
else if (vV==s3)
  {
  result=vA*vB;
  }
else
  {
  result=vA/vB;
  }
 
return result;  
}
 


Код:
 
<html>
<head>
<title>Калькулятор</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8">
</head>
<body>
<form name="form">
Переменная А:
<input type=text id="nA" name="nameA" value="" size="5"><br>
<br>
Переменная Б:
<input type=text id="nB" name="nameB" value="" size="5"><br>
<br>
Действие:
<select id="sel" name="select">
  <option value="s1">Сложить</option>
  <option value="s2">Вычесть</option>
  <option value="s3">Умножить</option>
  <option value="s4">Разделить</option>
</select><br>
<br>
<input type="button" value="Рассчитать" onclick="Func()"><br>
<br>
Результат:
<input type="text" id="nC" name="nameC" value="" size="25"><br>
<br>
</form>
</body>
 

Всего записей: 51 | Зарегистр. 12-07-2012 | Отправлено: 19:29 27-06-2013 | Исправлено: 1234567890qwe, 20:51 27-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1234567890qwe
а html код где?

----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 20:47 27-06-2013
unreal666



Gold Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1234567890qwe

Цитата:
if (vV==s1)

ответ:

Цитата:
if (vV=='s1')

для других if'ов то же самое.
Если бы отлаживал в отладчике браузера, то увидел бы, что отладчик матерится, что js не знает, что такое s1, s2 и s3.
 
+ в ф-и Mat в начале надо сделать типа такого  

Цитата:
 vA = vA - 0, vB = vB - 0;

чтобы преобразовать строки в числа.
А то у тебя при сложении будет просто конкатенация строк, а не сложение чисел.

Всего записей: 6637 | Зарегистр. 14-02-2005 | Отправлено: 00:25 29-06-2013
Cheery



.:МордератоР:.
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
1234567890qwe
http://jsfiddle.net/WRUr7/
 

Код:
function Func()  
{  
_('nC').value = Mat(_('nA').value,_('nB').value,_('sel').value);  
}  
 
var _ = function(id) {
    return document.getElementById(id);
}
 
function Mat(vA, vB, vV)  
{  
switch(vV) {
    case 's1': return 1 * vA + 1 * vB;      
    case 's2': return vA - vB;    
    case 's3': return vA * vB;    
    case 's4': return vA / vB;    
    default: return '';
  }
}  


----------
Away/DND

Всего записей: 52737 | Зарегистр. 04-04-2002 | Отправлено: 02:30 29-06-2013 | Исправлено: Cheery, 02:39 29-06-2013
Открыть новую тему     Написать ответ в эту тему

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116

Компьютерный форум Ru.Board » Интернет » Web-программирование » вопросы по javascript


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru