Обмен данными между HTML документом зашитым в TwebBrowser, с самой программой
Здравтсвуйте.Нужно сделать следующее:Есть программа на основе TwebBrowser.В него зашита некая HTML страница.Возможно ли без перезагрузки страницы скажем при нажатии на <input type="button"> передать какуюто информацию программе,или скажем вызвать какойто ее метод или функцию и если возможно то как это сделать?
Цитата: Leroy
Здравтсвуйте.Нужно сделать следующее:Есть программа на основе TwebBrowser.В него зашита некая HTML страница.Возможно ли без перезагрузки страницы скажем при нажатии на <input type="button"> передать какуюто информацию программе,или скажем вызвать какойто ее метод или функцию и если возможно то как это сделать?
Можно.
Нужно реализовать свой обработчик через интерфейс IDispatch (конкретно нужен метод Invoke). Затем получить интерфейс IHTMLDocument2 страницы и установить его с помощью метода HRESULT IHTMLDocument2::put_onclick(VARIANT v);
Тогда он будет отлавливать для всех кнопок, свою в нутри обработчика можно распознать по имени например. Или тоже самое, но назначить непосредственно своей кнопке получив ее интерфейс IHTMLElement (HRESULT IHTMLElement::put_onclick(VARIANT v);)
Или можно расширить оббъектную модель браузера реализовав IDocHostUIHandler и его метод GetExternal тогда будет возможность уже "в обратном направлении" вызывать свои методы из скрипта в хтмл странице.