|
|
Регистрация | << Правила форума >> | FAQ | Пользователи | Календарь | Поиск | Сообщения за сегодня | Все разделы прочитаны |
|
Опции темы | Поиск в этой теме | Опции просмотра |
#1
|
|||
|
|||
Добавить элемент в браузер с функцией
Здравствуйте.
Возникла такая проблемка, надеюсь, поможете решить ибо моих сил уже нет на нее. Собственно, не буду описывать огород, а лишь вкратце, чтобы была понятна суть проблемы. Есть компонент TWebBrowser. Загружаю в него страничку (не важно какую, пусть будет, например, microsoft.com), далее добавляю после BODY элемент: Код HTML:
Все ок. И у элемента указываю js функцию myfuncs(), естественно, на самой странице такой ф-ии нет. И вот такой вопрос, как эту функцию добавить на страницу тоже, и чтобы она обрабатывалась onchange селектом? Возможно ли вообще так, или есть альтернативы решения данной задачи? |
#2
|
||||
|
||||
Код HTML:
Оставайтесь хорошими людьми... VK id2634397, ds [at] phoenix [dot] dj |
#3
|
|||
|
|||
Нет, конечно, так пробовал, но...
Вот, привожу код: Код:
procedure TForm1.WebBrowserDocumentComplete(Sender: TObject; const pDisp: IDispatch; var URL: OleVariant); var DocA: IHTMLElementCollection; Element: IHTMLElement; CurWebrowser: IWebBrowser; TopWebBrowser: IWebBrowser; tselect:String; i:integer; begin CurWebrowser:= pDisp as IWebBrowser; TopWebBrowser:= (Sender as TWebBrowser).DefaultInterface; if CurWebrowser = TopWebBrowser then begin tselect:= '<script>function myfuncs(){alert("Bla bla bla");}</script><select onchange=javascript:myfuncs()><option>1</option><option>2</option></select>'; DocA:=(WebBrowser.Document as IHTMLDocument2).all; for i:=0 to DocA.length - 1 do begin Element:=DocA.item(i,0) as IHTMLElement; if (Element.tagName = 'BODY') then begin Element.insertAdjacentHTML('afterBegin', tselect); end; end; end; end; Ну, и, ругается: Ошибка: Значением свойства "myfuncs" или является NULL, или оно не определено, или не является объектом Function |
#4
|
|||
|
|||
Решение нашел. Если кому ещё пригодится - скажите, напишу, либо в лс..
|
#5
|
||||
|
||||
Цитата:
|