![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 97
|
![]()
Добрые вечер дорогие мои. Нужна ваша помощь. Вот в чем задача. Нужно по кейапу сохранять. Но есть большое НО. Нужно сохранять после последнего нажатия кейапа. Сейчас это работает, в том случае если набирать текст со скоростью домохозяйки. Реализовано это примерно так. По кейапу вызывается функция
Код HTML:
timeOut(e,url,respons,10); Код HTML:
function timeOut(string,fname,old,p) { var i = p; setInterval(function() { counter() }, 500); function counter() { if(i!=0) { document.getElementById('autoSave').innerHTML = i--; } else { save (string,fname,old); } } } |
![]() |
![]() |
![]() |
#2 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
Проверять надо текст от кейапа и текущий, если == то сохранять, иначе повторить цикл ...
|
![]() |
![]() |
![]() |
#3 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 97
|
![]() |
![]() |
![]() |
![]() |
#4 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
Ну а вопрос тогда в чем? если работает плохо значит надо переписать чтобы работала хорошо
|
![]() |
![]() |
![]() |
#5 |
Пользователь
Регистрация: 14.03.2009
Сообщений: 97
|
![]()
Если Вы дочитаете пост до конца, то увидите, что я спрашиваю какие есть альтернативы такому метода. Ну или как минимум совет как ее улучшить. Принцип ее работы прост. Если я набираю. То переменная "P" постоянно обновляется и не опускается до нуля. Если я перестал набирать, некоторое время прошло, переменная стала нулем после чего выполнилась функция "save". И в принципе если печатать медленно, то все работает. Но если печатать с нормальной скоростью. Больше 150 знаков в минуту, то браузер не выдерживает такой нагрузки и падает или повисает пока не сожрет всю ОЗУ
|
![]() |
![]() |
![]() |
#6 |
Подтвердите свой е-майл
Регистрация: 29.08.2012
Сообщений: 4,011
|
![]()
я вообще не понимаю за каким тут эти р и i, посмотрите как работают теже поисковики и не изобретайте велосипед
|
![]() |
![]() |
![]() |
#7 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
![]()
Если function timeOut вызывается не один раз, то юзай setTimeout вместо интервала.
При необходимости сноси таймер (clearTimeout).
Alar, верни репу!
|
![]() |
![]() |
![]() |
#8 | |
Пользователь
Регистрация: 14.03.2009
Сообщений: 97
|
![]() Цитата:
если документ изменен то Код HTML:
clearTimeout(y); timeOut(editor.getValue(),url,respons); Код HTML:
function timeOut(string,fname,old) { y = setTimeout(function(){ save (string,fname,old);}, 2000); function save (string,fname,old) { $.ajax({ type: "POST", url: "editwork.php", cache: false, data:{'s':string,'f':fname,'o':old}, success: function(r){ if(r){ document.getElementById('autoSave').innerHTML = (count++).toString(); } } }); } } |
|
![]() |
![]() |
![]() |
#9 |
Раздолбайских Дел
Старожил
Регистрация: 22.05.2009
Сообщений: 3,828
|
![]()
переменную y нужно задать во внешнем контексте, а так все путем
Alar, верни репу!
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
проблема автосохранение | andriypadun | Microsoft Office Word | 0 | 15.09.2012 18:31 |
Автосохранение | Ципихович Эндрю | Microsoft Office Word | 8 | 06.02.2012 18:09 |
Автосохранение паролей | Exterminated | PHP | 2 | 03.02.2012 20:37 |
Автосохранение StringGrid1 | Афанасий[vedma] | Общие вопросы Delphi | 1 | 17.01.2012 10:17 |
Автосохранение | A_L_E_X | Microsoft Office Excel | 12 | 13.08.2010 13:11 |