|
|
|
Проблема с Ajax в OnClick
|
|||
|---|---|---|---|
|
#18+
Добрый день всем! Товарищи, помогите кто чем может :). Стоит задача учета URL, на который посетитель переходит с текущей страницы. Для этого я пытаюсь использовать ajax в OnClick каждой ссылки страницы. Следующий код всем хорош, и отлично работает на компе, но не в интернете. Я так понимаю, что связанно это со скоростью интернета посетителя. Что мне надо сделать - мне надо выяснить, как приостановить переход пользователя по ссылке до того, как будет получен ajax-ответ (с максимальным сроком ожидания в секунду, например, ну или без него вовсе). Я читал много про синхронный и асинхронный ajax, но при синхронном ajax речь кругом идет о приостановки выполнения скрипта, а вот что делать, когда надо приостановить переход по ссылке непонятно. Если обратите внимание в коде есть переменная ret, в неё сохраняется значение возвращаемое возможной предыдущей функцией из OnClick, и в зависимости от нее срабатывает или не срабатывает ajax (так как если возвращается false, то посетитель реально не переходит по ссылке, а значит учитывать "переход" не стоит). По моему сельскому разумению OnClick выполняется ДО перехода по ссылке, и поскольку ajax-запрос у меня синхронный, то переход должен приостанавливаться подобно тому, как он приостанавливается, когда при OnClick вызывается обыкновенный alert(). Но почему-то переход срабатывает проскакивая мой ajax и не дожидаясь ответа. Код: plaintext 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. Как можно решить такую проблему? И вообще, можно ли? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2010, 13:01:32 |
|
||
|
Проблема с Ajax в OnClick
|
|||
|---|---|---|---|
|
#18+
Буквально только-что набрел на литературу о событии OnBeforeUnload, которое, как утверждается, приостанавливает переход на URL до получения ответа от синхронного запроса ajax, но кажется он работает только в IE4+ и FF1.7+. Может это частично поможет решить задачу... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2010, 13:25:02 |
|
||
|
Проблема с Ajax в OnClick
|
|||
|---|---|---|---|
|
#18+
Разобрался немного с OnBeforeUnload и код чудесно работает в IE и FF, но как можно осуществить хотя бы частичную поддержку данной операции в Опере? Код: plaintext 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 05.03.2010, 19:25:25 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36505701&tid=1453426]: |
0ms |
get settings: |
7ms |
get forum list: |
15ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
222ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
52ms |
get tp. blocked users: |
1ms |
| others: | 232ms |
| total: | 549ms |

| 0 / 0 |
