|
|
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Страничка содержит два IFRAME, необходимо определить загрузился ли первый и IFRAME и только после его загрузки загружать второй IFRAME. Как это реализовать? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 10:06 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
У ифрейма есть событие onload. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 10:07 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
ShSergeУ ифрейма есть событие onload. Не во всех браузерах. По спецификации его вообще быть не должно. Так что приходится делать периодический опрос. Надо смотреть в iframe.contentWindow.document и если он доступен пытаться понять по структуре пришел ли правильный ответ. jQuery в таком анализе сильно помогает. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 12:33 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Вот пример. Тут много лишнего, но выдирать не хотелось. По крайней мере он 100% рабочий. dlg - это див-контейнер, в котором живет форма и ифрейм. Форма настроена на загрузку результата в этот ифрейм. Сервер по сабмиту возвращает текст, то есть ContentType: text/plain. Сам по себе текст - это JSON. Браузеры для text/plain строят DOM, который выглядит как <body><pre></pre></body>, так что анализ в данном случае труда не составляет. Код: 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. 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. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 12:42 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
SergASh Не во всех браузерах Огласите, пожалуйста, весь список... SergASh По спецификации его вообще быть не должно Ссылочку на сие утверждение можно? SergASh Так что приходится делать периодический опрос. Надо смотреть в iframe.contentWindow.document и если он доступен пытаться понять по структуре пришел ли правильный ответ. А заюзать onload parent'а нельзя? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 10.06.2009, 12:52 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Да, я думал все проще. Пока я не в состоянии понять ваши ответы. Направте пожалуйста что почитать, про DOM как я понял? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 09:30 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Забыл написать, мне достаточно чтоб в IE версии не ниже 6.5 работало. В первом IFARME загрузку которого надо отселживать, два календаря, пользователь выбирает нужные даты, даты сохраняются в переменных Session во время событий SelectionChanged календарей. Во второй IFRAME выводится выборка из базы данных за период ограниченный датами выбранными в первом IFRAME. Исходя из выше сказанного я и хотел отслеживать загрузку первого IFRAME. Может как то по проще можно в данном случае, чем SergASh предлагаете. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 09:46 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
ru_efim В первом IFARME загрузку которого надо отселживать, два календаря, пользователь выбирает нужные даты, даты сохраняются в переменных Session во время событий SelectionChanged календарей. Во второй IFRAME выводится выборка из базы данных за период ограниченный датами выбранными в первом IFRAME. Т.е. у Вас ЭстЪ страничка: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. Код: plaintext 1. 2. 3. P.S. А зачем Вам в этом случае вообще IFAME'ы? Для форсу бандитского? Разместите все на одной странице. А result заверните в div и рулите display: none/block... IMHO, так ru_efim как то по проще _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 11.06.2009, 12:27 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Код: plaintext 1. 2. А с IFRAME(который result) вынужден работать по той причине что в результате всей обработки туда PDF открывается при настройках AcrobatReader открывать в окне IE. А первай IFRAME(который calendar.aspx), сделал для того чтоб при выборе дат и PostBack'ах, страницы Seach и Result не перезагружались и в результате визуально сосздается впечатление что ни чего не происходит. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 11:36 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
ru_efim Надо добавить, для того чтоб гарантировать перезагрузку страницы "result.aspx" после сохранения дат в session, я правильно понял? Причем будет достаточно в calendar.aspx даже: Код: plaintext 1. 2. 3. 4. 5. 6. 7. 8. 9. 10. 11. 12. 13. 14. 15. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 12:30 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Жаль, что вы с самого начала не написали подробней как оно должно работать. Тогда бы я вас не путал этой кучей джаваскрипта. При таком раскладе, на мой взгляд, от ифрейма с календарями и от хранения в дат в сеансе можно избавиться. Вы на клиентской стороне в состоянии получить пару дат из календаря не делая при этом постбека? Если не сможете со стандартным asp.net-ным календарём, то можно взять другой, их много фришных. Дальше нужна будет скрытая HTML форма. Форма при помощи атрибута target может быть нацелена на обновление не всей страницы, а произвольного ифрейма. В эту форму можно будет положить пару hidden-полей и задать для них значения выбранных дат. После этого сделать сабмит формы. Тогда обработчик result.aspx сможет получить эти значения уже не из сеанса, а из запроса (Request.Form["dateFrom"] например). Ну и далее выдавать тот результат, который вам нужен. Результат приедет прямо в ифрейм. Единственная проблема тут, которую придётся решать, это то, что форма в ASP.NET может быть только одна. Но это решаемо, ее можно создать динамически на клиентской стороне. С помощью jQuery так вообще несколько строчек. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 13:13 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
SergASh Вы на клиентской стороне в состоянии получить пару дат из календаря не делая при этом постбека? .... Дальше нужна будет скрытая HTML форма. Форма при помощи атрибута target может быть нацелена на обновление не всей страницы, а произвольного ифрейма. В эту форму можно будет положить пару hidden-полей и задать для них значения выбранных дат. После этого сделать сабмит формы. Тогда обработчик result.aspx сможет получить эти значения уже не из сеанса, а из запроса (Request.Form["dateFrom"] например). /me думает: "Нам солнца не надо-нам партия светит!Нам хлеба не надо - работу давай!" Код: plaintext 1. _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 13:58 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft /me думает: "Нам солнца не надо-нам партия светит!Нам хлеба не надо - работу давай!" Ме (т.е. Ex_Soft) правильно думает (только в первоисточнике слово "Партия" писалась с большой буквы). Я вот прочитал несколько раз весь топик (с начала и до конца). Кроме смешных штучек, типа "не все браузеры поддерживают" ничего не понял. А что они поддерживают? На онлоад обработчик не добавить ( любой страницы , хоть в ифрейме, хоть в Африке)? Кстати, при чём здесь жквери - тоже не понятно. Пару строк для "ее можно создать динамически"?!!! Голый яваскрипт - одной строчкой делает (два криэйта и два аппендчилда - без проблем в одной строчке), только здесь этого не надо совсем. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 15:26 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
/me думает: дело было вечером - делать было нечего... _________________ "Helo, word!" - 17 errors 56 warnings ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 17:05 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Спасибо, буду седеть разбираться. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 12.06.2009, 18:26 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Ex_Soft SergASh Не во всех браузерах Огласите, пожалуйста, весь список... SergASh По спецификации его вообще быть не должно Ссылочку на сие утверждение можно? SergASh Так что приходится делать периодический опрос. Надо смотреть в iframe.contentWindow.document и если он доступен пытаться понять по структуре пришел ли правильный ответ. А заюзать onload parent'а нельзя? _________________ "Helo, word!" - 17 errors 56 warnings Млин, читай спцификацию. onload есть у body & frameset. Ясный пень, что в iframe загружается body и событие обработать можно. Но чье собыитие - фрейма? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 13.06.2009, 01:38 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Во-первых: не занимайтесь оверквотингом Во-вторых: 69 onload есть у body & frameset тынць , тынць _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 15:28 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
DOM-3? Ну и какие же браузеры поддерживают его? И ссылка на школу w3c? По HTML4.1 только body & frame. Если уважаешь школу Тынць-Пынць ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 16:41 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
69 По HTML4.1 только body & frame. /me думает: гм... Получается, что onload у того же img со времен царя Гороха - "...против всех законов физики..."? _________________ "Helo, word!" - 17 errors 56 warnings Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 17:38 |
|
||
|
Как дождаться загрузки IFRAME?
|
|||
|---|---|---|---|
|
#18+
Разговор шел за спецификацию - там событий onload у img, script, iframe нет. Реально - да есть. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 14.06.2009, 21:41 |
|
||
|
|

start [/forum/topic.php?fid=22&msg=36036822&tid=1454685]: |
0ms |
get settings: |
8ms |
get forum list: |
10ms |
check forum access: |
2ms |
check topic access: |
2ms |
track hit: |
159ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
57ms |
get tp. blocked users: |
1ms |
| others: | 244ms |
| total: | 495ms |

| 0 / 0 |
