Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Сети";
Текущий архив: 2007.04.22;
Скачать: [xml.tar.bz2];

Вниз

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

 
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;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.5 MB
Время: 0.045 c
2-1175510625
Cara
2007-04-02 14:43
2007.04.22
Поменять расширение.


2-1175499588
Knock
2007-04-02 11:39
2007.04.22
record в record е


1-1172151336
Цукор5
2007-02-22 16:35
2007.04.22
Полная высота TLabel


2-1175620219
malyar
2007-04-03 21:10
2007.04.22
указатель на массив


2-1175628110
Андрей.А.В.
2007-04-03 23:21
2007.04.22
записать предложения в тексте в обратном порядке (1-е предложен





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский