Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Выполнение JS функции без WebBrowser 
:(
    Опции темы
Dobermann
Дата 14.1.2010, 13:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



У кого какие на этот счет мысли?!
Известно, что javascript функцию можно выполнить программно при наличии контрола webbrowser следующим способом:
Код

WebBrowser.Document.All["zadnica"].InvokeMember("тыц");
где zadnica - id тега, тыц - клик по заднице(событие)
Так вот вопрос:
Ну респонсом пришел хтмл код страницы, ну кое как напарсил тег с нужным id, только вот что передавать обратно, чтобы эта функция отработала??? Без WebBrowsera!!
Кстати, может есть какая-нибудь прога, наподобие Http анализатора, через которую можно все это посмотреть(как происходит выполнение, что отправляется, что принимается)???
PM   Вверх
diadiavova
Дата 14.1.2010, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Метод InvokeMember вызывает метод хтмл-элемента. А что тебе нужно я не понял. В каком виде у тебя яваскрипт-функция которую надо исполнить? В виде текста что ли?


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 14.1.2010, 16:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Ведь когда приходит ответ от севрева(HttpWebResponse) в нем содержится вся html страница. Там есть, к примеру, следующий тег :
Код

<img src="..." id="img6" onclick="sum_func()" />

Если загрузить эту страницу в webBrowser1, то выполнить функцию sum_func() можно так:
Код

webBrowser1.Document.All["img6"].InvokeMember("onclick");

А у меня вопрос в том, как это сделать не загружая страницу в этот дерьмовый WebBrowser!
PM   Вверх
diadiavova
Дата 14.1.2010, 16:32 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  14.1.2010,  16:27 Найти цитируемый пост)

А у меня вопрос в том, как это сделать не загружая страницу в этот дерьмовый WebBrowser!

Да по сути никак. Точнее выполнить код можно, но надо понимать, что документ является единым целым, а посему создать экземпляр документа всё-равно придётся. Можно сделать это без браузера если подключить к проекту библиотеку mshtml, создать экземпляр класса HtMLDocumentClass, и вызвать у него метод IHTMLDocument2_Write, передав ему текст вебстранички. Далее с объектом документа можно работать.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 14.1.2010, 16:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Цитата(diadiavova @  14.1.2010,  16:32 Найти цитируемый пост)
Можно сделать это без браузера если подключить к проекту библиотеку mshtml, создать экземпляр класса HtMLDocumentClass, и вызвать у него метод IHTMLDocument2_Write, передав ему текст вебстранички. Далее с объектом документа можно работать. 

Пример?! smile  smile 
PM   Вверх
diadiavova
Дата 14.1.2010, 16:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  14.1.2010,  16:38 Найти цитируемый пост)
Пример?!
Что непонятно из того что я написал?



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 14.1.2010, 17:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Цитата

mshtml

Как с ним работать?!(литература) 
Нашел только сообщения с форумов, но там все со своими проблемами...в msdn не нашел
PM   Вверх
diadiavova
Дата 14.1.2010, 22:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  14.1.2010,  17:07 Найти цитируемый пост)
в msdn не нашел 

http://msdn.microsoft.com/en-us/library/aa...28VS.85%29.aspx
А вообще работать так же как на вебстранице или в веббраузере. Вся объектная модель документа как в ИЕ, так и в веббраузерконтроле реализована в этой библиотеке. Так что кроме англоязычной документации в мсдн вполне можешь найти какой-нибудь русскоязычный мануал по jscript или vbscript, где описана работа HTML DOM. Вот порылся в гугле нашёл вот это
http://www.ilyuha.ru/js/
раньше видел этот справочник в более удобоваримом виде, но сейчас что-то не нашёл. А вообще литературы такой много. Просто надо понять принцип как это связано с библиотекой. В общем и целом каждый хтмл-элемент в этой библиотеке представлен классом, имя которого(за некоторыми исключениями) формируется по правилу HTML<имя тега>ElementClass. В этих классах найдёшь методы с такими же названиями как в справочниках по разработке клиентских скриптов. Как создать объект документа я описал в предыдущем посте.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 14.1.2010, 23:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Эти ссылки то и я нашел...
PM   Вверх
diadiavova
Дата 15.1.2010, 00:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  14.1.2010,  23:34 Найти цитируемый пост)
Эти ссылки то и я нашел... 

Ты ведь написал, что не нашёл smile 
Я сейчас попробовал предложенный мной способ, но функция не вызывается. Возможно из-за того, ч то при таких делах не создаётся объект window, а эти функции являются его членами. Так что придётся через браузер.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 19.1.2010, 20:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



А тогда не подскажешь как работать с API, который предоставляет сайт?
PM   Вверх
diadiavova
Дата 19.1.2010, 22:24 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  19.1.2010,  20:35 Найти цитируемый пост)
А тогда не подскажешь как работать с API, который предоставляет сайт? 

Да сопсно всё просто: апи сайта - это практически то же самое, что и веб-страница. Ты отправляешь обычный запрос на сервер и полученная страница содержит ответ на него. Ответ обычно предоставляется в одном из распространённых для таких случаев форматов(как правило json или xml). Обычно апи документируются и более конкретную инфу можно узнать из документации.


--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
Dobermann
Дата 20.1.2010, 14:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 992
Регистрация: 7.1.2008

Репутация: 1
Всего: 0



Ага, смотрел апи вконтакте - геморно трындец! эти обязательные параметры запроса...
PM   Вверх
diadiavova
Дата 20.1.2010, 21:38 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Доктор Зло(диагност, настоящий, с лицензией и полномочиями)
****


Профиль
Группа: Модератор
Сообщений: 5821
Регистрация: 14.8.2008
Где: В Коньфпольте

Репутация: 31
Всего: 142



Цитата(Dobermann @  20.1.2010,  14:52 Найти цитируемый пост)
Ага, смотрел апи вконтакте - геморно трындец! эти обязательные параметры запроса... 
Вконтактовские апи предназначены для зарегестрированных приложений. Там надо использовать специальный код приложения. Потренеруйся на открытых апи, например на гуголевских.



--------------------
Хочешь получить мудрый совет - читай подписи участников форумов.
Злой доктор Щасзаболит smile
PM   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0515 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.