![]() |
|
Модераторы: Partizan, gambit |
![]()
|
|
| neic |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
Есть страница на которой висит ссылка New Blog, она вызывает js: load_editor('edit_blog'). После чего появляются (грузятся) новые элементы на страницу, но сама страница не перегружается. Так вот мне нужны несколько элементов которые загрузились после вызова js.
Вот код:
Вызываю js, условие цикла пока страница полностью не загрузиться то крутим цикл, и вот на этой строчке:
Начинается трабла, WebBrouser просто не видит этого элемента. Выкидывает такую ошибку:
Хотя на странице он существует, смотрел через инспектора Опёры. Визуально я в окне WebBrouser'a вижу этот элемент, а программно не добраться до него. Может нужно метод перерисовки элементов вызывать, что бразуер увидел программно эти элементы...я так и не разобарлся с этим, поэтому решил обратиться к Вам. И еще одна трабла в том, что страница постоянно грузиться и 5 минут, и 10 минут и далее, т.е. полностью не может загрузиться. Но это другая проблема, если доступ к title будет, то можно просто break поставить и выйти из цикла. Это сообщение отредактировал(а) neic - 14.4.2011, 01:40 |
||||||
|
|||||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Да по моему к этому элементу так не достучишься. У него есть свойство text, в скрипте надо действовать через него. В коде на шарпе можно сделать как-то так
А чтоб не писать бесконечный цикл, этот код надо поместить в обработчик события Navigated. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| neic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
diadiavova
Всё равно не работает. Срывается на catch, т.е. исключение вызывается.
Это сообщение отредактировал(а) neic - 14.4.2011, 10:39 |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
neic, я не обратил внимания на то, как ты получаешь доступ к элементу, так его можно получить только если у него id="title".
И насчет выполнения этого кода в обработчике соответствующего события тоже подумай. Это сообщение отредактировал(а) diadiavova - 14.4.2011, 11:35 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| neic |
|
||||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
diadiavova
Сделал как ты и сказал, объект вроде как находится программно, но при внесении в элемент текста ни чего не получается. Пробовал еще value вставить вместо text, вызывается ошибка.
Когда меняю text на value, то вылетает такая ошибка:
На всякий случай скидываю htmlкод объекта:
Это сообщение отредактировал(а) neic - 14.4.2011, 15:41 |
||||||
|
|||||||
| diadiavova |
|
||||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
Это надо было сделать сразу, а не на всякий случай. Я тебя вообще неправильно понял. Я искал элемент <TITLE></TITLE>, а не инпут. В твоем случае, для нахождения элемента по имени надо сделать так
При этом индекс 0 для того случая, когда элемент с таким именем либо единственный, либо первы в документе. Другой вариант: можно найти элементы инпут по имени тега и отфильтровать коллекцию так как надо, например так
В данном случае мы фильтруем инпуты по атрибутам и берем первый в коллекции. Если такой окажется не единственным, то надо взять тот, который нужен. Это сообщение отредактировал(а) diadiavova - 14.4.2011, 17:00 -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
||||
|
|||||
| neic |
|
||||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
diadiavova
Код:
Вызывает ошибку:
input=null |
||||
|
|||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
У меня не вызывает, пример в аттаче.
Присоединённый файл ( Кол-во скачиваний: 2 )
settitle.rar 53,70 Kb-------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| neic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
diadiavova
Для статичных там всё ещё проще можно сделать, как в твоем случае. А вот когда на странице задействован AJAX и элементы появляются после вызова js, то вот тут проблема возникает. Я склоняюсь к тому, что должна быть функция которая обновляет список элементов не перезагружая страницу в WebBrouser. Либо задействовать POST или GET, но как хз. |
|||
|
||||
| diadiavova |
|
|||
![]() Доктор Зло(диагност, настоящий, с лицензией и полномочиями) ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 5821 Регистрация: 14.8.2008 Где: В Коньфпольте Репутация: 31 Всего: 142 |
neic, На самом деле, не имеет значения, как появился элемент на странице: благодаря разметке, или динамически. Другой вопрос, что на момент запроса его может просто не существовать.
Так в чем она? Поймать момент когда появляется элемент? Это можно сделать, отловив событие onpropertychange родительского контейнера, оно возникает при изменении любого свойства, в том числе innerHTML, а стало быть всякий раз когда добавляется новый элемент происходит это событие. -------------------- Хочешь получить мудрый совет - читай подписи участников форумов. Злой доктор Щасзаболит |
|||
|
||||
| neic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
diadiavova
Смотри я вызвал скрипт, подождал когда страница полностью загрузиться и после полной загрузки страницы нажимаю кнопку и вызывается ошибка, т.е. в самом браузере как будто не обновился исходный код. Прилагаю скрины. Присоединённый файл ( Кол-во скачиваний: 1 )
Desktop.rar 406,90 Kb |
|||
|
||||
| neic |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 839 Регистрация: 28.1.2007 Репутация: 1 Всего: 7 |
Всё я решил проблему =)
Нужно было просто идти на страницу фрейма выползающего и не пудрить себе мозги. Спасибо diadiavova за помощь и терпение =) Это сообщение отредактировал(а) neic - 15.4.2011, 08:13 Присоединённый файл ( Кол-во скачиваний: 1 )
Desktop.rar 406,90 Kb |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |