partha143 Ответов: 1

Как выполнить плавную прокрутку на элементе управления IHTMLELEMENT.


У меня есть веб-страница, которую мне нужно отобразить в моем настольном приложении (WPF). Я использую управление WebBrowser. Веб-страница, которую я заполняю, имеет элемент управления IHTMLELEMENT, который имеет прокрутку, и мне нужно выполнить плавную прокрутку.

Что я уже пробовал:

Я в состоянии получить контроль IHTMLELEMENT и выполнять прокрутку, используя (IHTMLELEMENT).scrollIntoView(true)- для&ГТ; для прокрутки сверху и (IHTMLELEMENT).scrollIntoView(false) в ->, чтобы прокрутить вниз. Это выполнение прокрутки в одном кадре, и я хочу выполнять прокрутку плавно и медленно.

1 Ответов

Рейтинг:
1

Richard Deeming

Существует перегрузка scrollIntoView что позволяет задать плавную прокрутку:
Element.scrollIntoView() - веб-API | MDN[^]

К сожалению, он не поддерживается ни в одной версии Internet Explorer, поэтому он не будет работать с WebBrowser контроль.

Даже полифилл[^] поддерживает только IE9+, так что он не будет работать в WebBrowser управление, которое застряло в режиме IE7.

Если это возможно, я бы рекомендовал переключиться на лучший элемент управления браузером, например CefSharp[^] или Geckofx[^].


partha143

Ричард : Спасибо за ваше предложение. Не могли бы вы любезно предоставить дополнительную информацию о CefSharp при прокрутке HTML-элемента. Я погуглил, но не смог найти никакой релевантной информации об этом. Спасибо.