Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.04.22;
Скачать: CL | DM;

Вниз

Вопрос по фреймам   Найти похожие ветки 

 
Free_Breeze   (2006-10-27 17:33) [0]

Дано: форма с WebBrowser в который загружается страничка с фреймами (типа чата на java-скрипте)

Задача такова: необходимо програмно вставлять в ListBox содержимое текста (не HTML, а то что генерится скриптом, в случае с примером - список людей находящийся в чате) из определенного фрейма.

Условия: обращение на прямую к фрейму и выполнение комнд "выделить все", "Copy" не катят, так как теряется управление с другого фрейма (в котором может производится какое-то действие, работа с тем же контекстным меню), а программа должна работать в фоне и не переключать фокус на фрейм со списком.

Кому-нибудь под силу решение данной проблемы???


 
Ketmar ©   (2006-10-27 18:11) [1]

кому-нибудь под силу.


 
Free_Breeze   (2006-10-27 18:57) [2]


> кому-нибудь под силу.


И ??? то что под силу - это понятно, а вот подсказать решение проблемы слабо? =)


 
Ketmar ©   (2006-10-27 19:07) [3]

не слабо. но после дешёвых понтов -- неохота.


 
Free_Breeze   (2006-10-27 19:16) [4]


> не слабо. но после дешёвых понтов -- неохота


где понты-то? я по человечески попросил помощи, а в ответ...

Товарищи, если кто может помочь, пишите пожалуйста по теме, не надо засорять топик.


 
Ketmar ©   (2006-10-27 19:27) [5]

"на слабо" -- это понты.
невнятное описание задачи -- это провокация.
неверная конференция -- это контрольный выстрел.


 
Free_Breeze   (2006-10-27 20:01) [6]

Попробую описать задачу повнятней.

Есть WebBrowser в который загружена страница с 3 фреймами. Первый мне не интересен. Во втором окно чата на скрипте (окно с сообщениями и строка ввода). В третьем фрейме список людей находящихся в чате.
Этот список постоянно меняется и мне необходимо отслеживать изменение списка. При выполнении задачи фокус не должен уходить из второго фрейма (строки ввода текста для чата). А результат работы (список людей в чате) желательно поместить в ListBox для дальнейшей обработки. Список людей тоже обновляется чатовским скриптом.

На счет "слабо" - ну сорвался... Можно было просто попросить сразу уточнить задачу. Я ведь ждал подсказки, а не цитату из моего-же вопроса.


 
Ketmar ©   (2006-10-27 20:07) [7]

>[6] Free_Breeze 27-Oct-2006, 20:01
искать на предмет IE DOM model. или написать полностью своего клиента для чата (как делаю обычно я %-).

>Я ведь ждал подсказки, а не цитату из моего-же вопроса.
http://ln.com.ua/~openxs/articles/smart-questions-ru.html
читать до просветления.


 
Free_Breeze   (2006-10-27 20:12) [8]

Спасибо. На счет своего клиента - просто никак. Просто это будет плагин для уже готового игрового клиента, в котором присутствует чат. потому и такие проблемы...


 
Ketmar ©   (2006-10-27 20:16) [9]

тогда нечто наподобие webbrowser1..Document as IHTMLDocument2).images.item("my_img", 0) as IHTMLImgElement
ну, ты понял, думаю, куда копать.


 
Ketmar ©   (2006-10-27 20:16) [10]

точка перед document одна. %-)


 
Free_Breeze   (2006-10-27 20:33) [11]

ну я сам-то уже кое-чего добился, но у меня проблема с тем, что фокус переходит в фрейм со списком, и получается, если клиент набирает текст, а с проги пошел запрос, то текст перестает набираться...

а реализовал я свой вариант примерно так:

 WebBrowser.OleObject.Document.frames.item(2).document.execCommand("SelectAll",fa lse,emptyparam)  ;
 u:=Webbrowser.OleObject.Document.frames.item(2).document.Selection.createRange.T ext;
 WebBrowser.OleObject.Document.frames.item(2).document.execCommand("Unselect",fal se,emptyparam)  ;
 ListBox1.Items.Text:=u;

Это работает, но как вернуть фокус туда, где он был до начала обработки я так и не разобрался... Свой вариант мне не нравится, вот потому и решил спросить совета...


 
Ketmar ©   (2006-10-27 20:36) [12]

а нафига "select all" делать? и вообще таким странным образом всё? вот и уходит.


 
Free_Breeze   (2006-10-27 20:43) [13]

потому и уходит, что я криво это все делаю:

программно перехожу в нужный фрейм, выделяю текст, копирую выделенный текст (потому что как скопировать содержимое фрейма без выделения так и не нашел), и снимаю селект.

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


 
Free_Breeze   (2006-10-27 20:45) [14]

может проще было бы по аське пообщаться? слишком уж тут долго выходит... моя если что 148491735


 
Ketmar ©   (2006-10-27 20:54) [15]

>[14] Free_Breeze 27-Oct-2006, 20:45
>может проще было бы по аське пообщаться? слишком уж тут
>долго выходит... моя если что 148491735
во-первых: у меня ася не работает. %-)
во-вторых: с такими вопросами не ко мне. я IE не встрою в свои программы и под угрозой вечного отлучения от инета. %-) я с IE просто не дружу.


 
Ketmar ©   (2006-10-27 20:55) [16]

это я к тому, что я вообще не знаю, как и что там в IE. так, осколки того, что видел в форумах, не более.


 
Free_Breeze   (2006-10-27 21:03) [17]


> во-первых: у меня ася не работает. %-)


у меня тоже до сегодня не работала, пока нового клиента не скачал и не переустановил


> я IE не встрою в свои программы и под угрозой вечного отлучения
> от инета


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


 
Ketmar ©   (2006-10-27 21:13) [18]

>[17] Free_Breeze 27-Oct-2006, 21:03
>> во-первых: у меня ася не работает. %-)
>у меня тоже до сегодня не работала, пока нового клиента не
>скачал и не переустановил
у меня завсегда последняя Миранда. development. %-)

>дык я и не встраиваю.
я к тому, что во взаимодействии с IE я -- профан. DiamondShark вот знает. но его фиг заманишь. %-)


 
Free_Breeze   (2006-10-28 03:42) [19]

Люди! Ну подскажите пожалуйста, кто знает решение проблемы. Просто у меня очень мало времени.


 
Ketmar ©   (2006-10-28 03:45) [20]

а ты не в ту конференцию влез. это в "начинающим" надо было. попробуй перепостить. не забудь в бубен постучать (чтобы модераторы не снесли оба вопроса).


 
DiamondShark ©   (2006-10-29 12:10) [21]


> потому что как скопировать содержимое фрейма без выделения
> так и не нашел

фрейм.document.body.innerText


 
Орион ©   (2006-10-29 12:19) [22]

> [19] Free_Breeze   (28.10.06 03:42)

Сначала [21] потом регулярные выражения (распарсиваешь html и выбираешь нужные куски).


 
DiamondShark ©   (2006-10-29 12:54) [23]

никакого html в innerText уже не будет, будет только видимый текст, полный, но менее трансректальный аналог [11].

да и если возникнет необходимость html разбирать, то он уже лежит разобраный в виде объектной модели документа.

в общем, вариантов много. пёс знает, как там этот чат устроен.
а самый правильный ответ уже был: вникать в справку по DOM и смотреть, что можно удобнее использовать в данном конкретном случае.



Страницы: 1 вся ветка

Текущий архив: 2007.04.22;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.048 c
3-1170216939
Tex
2007-01-31 07:15
2007.04.22
Vertical scroll в DbGrid


4-1164296258
Вольный Стрелок
2006-11-23 18:37
2007.04.22
CreateProcess консольной программы


15-1174749101
Kolan
2007-03-24 18:11
2007.04.22
Опрос: Какой синтаксис поисковах запросов вы бы использовали?


10-1131429028
john_mag
2005-11-08 08:50
2007.04.22
работа с msword


3-1170688056
Da
2007-02-05 18:07
2007.04.22
Какое лучше использовать?