Ответ 1
Взгляните на проект BrowserPlus в Yahoo.
Похоже, что они создали инструментарий, так что вам не нужно выполнять сложную работу по написанию плагина браузера.
У меня есть программа WinForms, написанная на .NET 2, которая содержит элемент управления веб-браузером и отображает страницы asp.net с известного сервера.
Я хотел бы иметь возможность перетаскивать дерево дерева node из дерева в моем приложении winforms в определенное место на размещенной веб-странице и запускать там javascript-событие.
В настоящее время я могу реализовать интерфейс IDocHostUIHandler
и получить события перетаскивания \drop в элементе управления браузера, а затем вызвать Navigate("javascript:fire_event(...)")
в элементе управления для выполнения script на странице. Однако я хочу, чтобы это работало только тогда, когда я удалял данные на определенной части страницы.
Одним из решений, я полагаю, было бы укусить пулю и написать собственный плагин для браузера в виде элемента управления activex, внедрить его в место, куда я хочу отказаться, и позволить этому реализовать необходимые интерфейсы drag\drop.
Будет ли это работать? Есть ли более чистый подход? Могу ли я воспользоваться тем фактом, что элемент управления браузером размещен в моем приложении и обеспечивает некоторый дополнительный уровень взаимодействия?
Взгляните на проект BrowserPlus в Yahoo.
Похоже, что они создали инструментарий, так что вам не нужно выполнять сложную работу по написанию плагина браузера.
Если вы можете узнать положение на экране той части страницы, которая вас интересует, вы можете сравнить ее с положением мыши, когда получите событие drop. Я не уверен, насколько это практично, если вы можете получить информацию из DOM или еще чего-то.
В качестве альтернативы вы можете реализовать события мыши на бите страницы с помощью javascript?