Запуск JavaScript в WebBrowser

Программирование на Visual Basic, главный форум. Обсуждение тем программирования на VB 1—6.
Даже если вы плохо разбираетесь в VB и программировании вообще — тут вам помогут. В разумных пределах, конечно.
Правила форума
Темы, в которых будет сначала написано «что нужно сделать», а затем просьба «помогите», будут закрыты.
Читайте требования к создаваемым темам.
phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 19:10

Возможен ли запуск уже готового скрипта в сайте и изменение переменных, или можно только свой скрипт запускарть?
скрипт выглядит так:

function rPress(rname,rval)
{
byid(rname).value=rval;
byid(rname+(1-rval)).src = 'img/ulist-0.gif';
byid(rname+(rval)).src = 'img/ulist-1.gif';
}

И если скрипт находится в фрейме, его нужно по особенному запускать?
Homini Hominius Lupus Est

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 25.05.2009 (Пн) 19:22

И при чём здесь VB6?
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 19:24

Webbrowser - компонент VB6 (Microsoft internet controls), может я как-нибудь неправильно его назвал?
На форуме нашел что-то похожее

Код: Выделить всё
strJava = "rpress()"
'reval = WebBrowser1.Document.execscript(strJava, "JavaScript")


Но он открывает пустой лист и ничего не делает
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 20:06

Лучше сформулируй какую задачу ты хочешь решить таким образом. Просто не понятно зачем запускать JavaScript, который что-то делает с содержимым страницы, если сделать тоже самое что-то с содержимым страницы можно, используя Microsoft HTML Object Library.
Salus populi suprema lex

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 20:29

Если это можно сделать Microsoft HTML Object Library тем лучше, просто я не знаю как использовать текущие переменные, я думал проще запустить готовый скрипт.
В общем нужно нажать на рисунок
Код: Выделить всё
<img id=first1 width=15 height=15 src='img/ulist-0.gif' onclick=rPress('first',1)>

при этом я так понимаю выполняется функция
Код: Выделить всё
function rPress(rname,rval)
{
byid(rname).value=rval;
byid(rname+(1-rval)).src = 'img/ulist-0.gif';
byid(rname+(rval)).src = 'img/ulist-1.gif';
}


Это можно сделать с помощью Microsoft HTML Object Library?
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 20:32

WebBrowser1.Document.getElementById("first1").click()
Salus populi suprema lex

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 20:48

Спасибо, боже мой как просто...
P.S. Но пока не работает, там несколько фреймов, может из-за этого.
Говорит Run-time error '91': Object variable or With block variable not set.
... А почему подсказочный текст (не знаю как по другому назвать), не выскакивает как с других объектов.
Есть где-нибудь источник, где можно поподробнее почить об Microsoft HTML Object Library

Обязательно
Код: Выделить всё
WebBrowser1.Document.getElementById("fist1").Click()
скобочки в конце?
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 21:04

Да, скобочки не надо, слишком я Java увлекся последнее время :).
С фреймом тяжелее... Так просто не получится сделать что-то с содержимым фрейма (пусть поправят меня,сли я не прав).
Подключи бибилотеку в References и поизучай её в ObjectBrowser, если знаком с JS и HTML, то там все интуитивно понятно, плюс поищи по форуму по этому слову, загляни в мой блог, MSDN конечно же еще.
Salus populi suprema lex

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 21:10

Секундочку, а что такое References, у меня появятся подсказки? (не очень сведущ) И по какому слову искать?
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 21:22

Да поиск по любому слову даст информацию. Хоть по WebBrowser, хоть по DOM, хоть по HTML Object Library. Но для начала зайди все-таки в мой блог (внизу, в списке форумов) и найди статью по WebBrowser.

Меню Project-->References-->Microsoft HTML Object Library.

Кстати, по элементам фрейма тоже можно кликнуть (код на примере странички с фреймом, только щелчок выполняется не по картинке, а по ссылке, так как не нашел странички с фреймами и картинками:) ):

Код: Выделить всё
Private Sub Command1_Click()
    Dim f As HTMLFrameElement
    Set f = WebBrowser1.Document.getElementsByTagName("frame")(0) 'нашли самый первый фрейм по имени тэга  — <frame>
    f.contentWindow.Document.links(1).Click 'выполнили щелчок по второй по счету ссылке на странице
End Sub

Private Sub Form_Load()
    WebBrowser1.Navigate "http://www.yma.ac.ru/books/hist/en/et/ep00.htm" ' загружаем страничку с фреймами
    While WebBrowser1.ReadyState <> READYSTATE_COMPLETE
        DoEvents
    Wend
End Sub


Add: здесь как раз домен один...
Последний раз редактировалось dr.MIG 25.05.2009 (Пн) 21:25, всего редактировалось 1 раз.
Salus populi suprema lex

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Запуск JavaScript в WebBrowser

Сообщение arvitaly » 25.05.2009 (Пн) 21:23

Так просто не получится сделать что-то с содержимым фрейма (пусть поправят меня,сли я не прав).

Прав, получится только если домен фрейма и домен основной странички одинаковые http://site.ru

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 21:56

Большое спасибо, я бы еще огромные мегабайты трафика перелопатил бы пока нашел бы это
Правда
Код: Выделить всё
Dim f as HTMLFrameElement
не сработало говорит такого типа не объявлено ранее, пришлось объектом объявлять.
Код: Выделить всё
Dim f As Object
Set f = WebBrowser1.Document.getElementsByTagName("frame")(2)
f.contentWindow.Document.getElementById("first1").Click
.
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 22:09

phantomstealth писал(а):говорит такого типа не объявлено ранее, пришлось объектом объявлять


Добавь ссылку на библиотеку:
dr.MIG писал(а):Меню Project-->References-->Microsoft HTML Object Library.
Salus populi suprema lex

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 22:47

Окей подсоединил все заработало.
Хотел еще один вопрос задать, это нормально, что нельзя, ни свойства, ни msbbox js, ну и т.д. запустить. Даже картинку не сохраняет popup меню исчезает куда-то
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 25.05.2009 (Пн) 23:13

Ничего не понял, если честно. Куда свойства запустить, кто картинку не сохраняет?
Salus populi suprema lex

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 25.05.2009 (Пн) 23:30

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

Хотя наверное у меня что-то в свойствах webbrowser не так стоит только я не пойму что
Homini Hominius Lupus Est

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 26.05.2009 (Вт) 12:49

Симптомы похожи на hBug :) Так что твоей вины здесь скорее всего нет.
А вот это:
Webbrowser - компонент VB6 (Microsoft internet controls)

бред.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 15:06

Хакер писал(а):Симптомы похожи на hBug Так что твоей вины здесь скорее всего нет.А вот это:
Webbrowser - компонент VB6 (Microsoft internet controls)
бред.
Ну да неправильно выразился "объект", а не компонент.
А что такое Hbug и как с ним бороться?
Последний раз редактировалось phantomstealth 26.05.2009 (Вт) 15:15, всего редактировалось 1 раз.
Homini Hominius Lupus Est

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 26.05.2009 (Вт) 15:08

phantomstealth писал(а):Ну да неправильно выразился объект.

Чё? Т.е. должно было быть «WebBrowser — объект VB6»? Всё равно бред. Он никак не относится к VB6.

phantomstealth писал(а):А что такое Hbug и как с ним бороться?

Не знаю. Не знаю (перезагрузка).
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 15:20

Не знаю. Не знаю (перезагрузка).

Т.е. такого ни у кого небыло, я так понимаю (Я думал это в свойствах Webbrowser устанавливается, например "Silent - Controls if any dialog boxes can be shown", толко он в True не становится, после запуска сразу False). Перезагрузка здесь точно не поможет.
Homini Hominius Lupus Est

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 26.05.2009 (Вт) 15:33

phantomstealth писал(а):Перезагрузка здесь точно не поможет.

Если это hbug, и причиной того, что при выборе «Свойства» нужный диалог не показывается, потому что обламываюстя CreateWindowEx, VirtualAlloc или им подобные функции, которые что-то создают или выделяют, то перезагрузка поможет.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 15:48

Нет я не такой упертый, просто у меня эта проблема 4 дня, я соответственно компьютер перезагружал раз 10.
Хотя раз ты говоришь что не блокируется CreateWindowEx, я такое видел в компьютерных клубах, там не открывалось ни одно окно, но там работала программа которая делала это, а у меня... только что какой-нибудь троян сидит и делает гадости, но непонятно почему именно в VB.
Homini Hominius Lupus Est

dr.MIG
Гуру
Гуру
Аватара пользователя
 
Сообщения: 1441
Зарегистрирован: 18.12.2004 (Сб) 9:53
Откуда: г.Ярославль

Re: Запуск JavaScript в WebBrowser

Сообщение dr.MIG » 26.05.2009 (Вт) 15:57

phantomstealth писал(а):Я думал это в свойствах Webbrowser устанавливается, например "Silent - Controls if any dialog boxes can be shown", толко он в True не становится, после запуска сразу False

Это свойство отвечает исключительно за отображение/неотображение диалоговых окон и сообщений. И устанавливать его в True надо в коде, а не в окне свойств WebBrowser'а.
Salus populi suprema lex

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 26.05.2009 (Вт) 16:17

phantomstealth писал(а):Хотя раз ты говоришь что не блокируется CreateWindowEx, я такое видел в компьютерных клубах, там не открывалось ни одно окно, но там работала программа которая делала это, а у меня... только что какой-нибудь троян сидит и делает гадости, но непонятно почему именно в VB.

Причём здесь компьютерный клубы? Аналогия нисколько не уместная. Здесь функции не блокируется, не запрещаются, а тупо не работают. Это ошибка, косяк, баг, нарушение, отклонение от нормы, а не один из предусмотренных режимов. Разумеется, конечно, что речь идёт о hBug-е.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 16:52

Это ошибка, косяк, баг, нарушение, отклонение от нормы

Забавное сочетание синонимов...
Но действительно не запускается ни одно диалоговое окно. Даже MSGBOX который запускается javascript не отображается, ни перезагрузка, ни изменение параметра silent в true и false в режиме запуска не дает результата.
Может и hbug, только перезагрузка не помогает и все эти косяки именно в webbrowser в VB нигде в другом месте, может быть нужно переставить mshtml.tlb, может в ней все дело
Homini Hominius Lupus Est

Хакер
Телепат
Телепат
Аватара пользователя
 
Сообщения: 16478
Зарегистрирован: 13.11.2005 (Вс) 2:43
Откуда: Казахстан, Петропавловск

Re: Запуск JavaScript в WebBrowser

Сообщение Хакер » 26.05.2009 (Вт) 17:10

Очень просто объясняется, почему хбаг не устраняется перезагрузкой. Причиной этого может быть то, что хбаг создаётся твоей же программой.
—We separate their smiling faces from the rest of their body, Captain.
—That's right! We decapitate them.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 17:43

Вот это другое дело. Прямо в точку.
Пересоздал проект сделал все точно так же. Все работает. Все диалоговые окна появляются.
У меня в том проекте как ни странно не при запущенной программе, упрямо каждый раз грузился www.mail.ru, сейчас ничего не грузится. Как он туда влез не знаю.
Homini Hominius Lupus Est

arvitaly
Постоялец
Постоялец
 
Сообщения: 485
Зарегистрирован: 12.04.2009 (Вс) 0:30
Откуда: Казань

Re: Запуск JavaScript в WebBrowser

Сообщение arvitaly » 26.05.2009 (Вт) 17:57

У меня в том проекте как ни странно не при запущенной программе, упрямо каждый раз грузился http://www.mail.ru, сейчас ничего не грузится. Как он туда влез не знаю.

Может он просто в Internet Explorer - домашняя страница, нет?

Debugger
Продвинутый гуру
Продвинутый гуру
Аватара пользователя
 
Сообщения: 1667
Зарегистрирован: 17.06.2006 (Сб) 15:11

Re: Запуск JavaScript в WebBrowser

Сообщение Debugger » 26.05.2009 (Вт) 17:59

У меня тоже возникла такая мысль.
Но без ведома программиста ничего в WebBrowser (по идее) грузиться не должно.

phantomstealth
Новичок
Новичок
Аватара пользователя
 
Сообщения: 35
Зарегистрирован: 14.05.2009 (Чт) 20:51
Откуда: г. Шахты

Re: Запуск JavaScript в WebBrowser

Сообщение phantomstealth » 26.05.2009 (Вт) 18:01

нет домашняя страница about
так mail.ru грузился не при запущенной программе, долен быть чистый объект.
P.S. Так эта зараза уже перелезла на мой новый проект, удаляю webbrowser, создаю новый некоторое время нормальное, потом раз и опять mail.ru, по-ходу троян, только его мои антивирусники не ловят почему-то
Homini Hominius Lupus Est

След.

Вернуться в Visual Basic 1–6

Кто сейчас на конференции

Сейчас этот форум просматривают: AhrefsBot, Google-бот и гости: 102

    TopList  
cron