Перейти к содержанию
Fire Monkey от А до Я
  • 0

Перейти на якорь уже загруженной страницы


hippocamus

Вопрос

Есть динамически создаваемая страница, на ней размечены опорные точки <a name="zXXX"></a>
  WebBrowser1.LoadFromStrings(GenerateHtml, '');
Есть TreeView, нажатие на пункты которого должно скроллить браузер к этим якорям.

Вот так: не получается...

  WebBrowser1.Navigate('#z10');

Как это можно сделать? Может, есть какое-то внутреннее имя у страницы, чтобы указать в Navigate?
В LoadFromStrings в качестве 2-го параметра задавал имя, допустим 'test', в Navigate указывал 'test#z10' - не работает.
Подскажите кто знает...

 

Изменено пользователем hippocamus
Ссылка на комментарий

Рекомендуемые сообщения

  • 0

Хм, что-то получилось.

Вот таким костылём, но меня вполне устраивает:

  WebBrowser1.EvaluateJavaScript('document.location.href=''#z10'';');

Только одно "но" - браузер не обновляется автоматически, только когда начнёшь скроллить происходит реальное отображение новой позиции.

WebBrowser.Repaint и   Application.ProcessMessages не дают нужного эффекта.

 

Ссылка на комментарий
  • 0
2 часа назад, hippocamus сказал:

WebBrowser.Repaint

Обработка ява-скрипт команды занимает некоторое время и происходит асинхронно. Поэтому если сразу сделать репаинт - ничего не изменится.

P.S. Что за ОС? Как ведёт себя браузер от TMS? Вообще если статический html и якоря, то на дельфе лучше richedit какой-нибудь сторонний использовать... Ну это так, к слову.
 

Ссылка на комментарий
  • 0
24 минуты назад, Akad сказал:

Обработка ява-скрипт команды занимает некоторое время и происходит асинхронно. Поэтому если сразу сделать репаинт - ничего не изменится.

P.S. Что за ОС? Как ведёт себя браузер от TMS? Вообще если статический html и якоря, то на дельфе лучше richedit какой-нибудь сторонний использовать... Ну это так, к слову.
 

Windows 7x64 (но собирал под x32). А так прога с прицелом и на Android тоже.
TMS браузер не пробовал, в чём собственно его преимущество?
RichEdit от TMS пробовал - очень сильно медленно работает, а у меня около 700k чистого текста. И кроме того - в html легко сделать мягкие переносы, выравнивание по обоим краям, колонки через табличную вёрстку и подгонка высоты и ширины колонок через встроенный javascript - так что richedit-ы для меня использовать не вариант.
А браузер не перерисовывается не потому, что команда не успевает сработать, а не обновляется вообще, и через минуту, если не дёрнешь. Так вот - как можно программно это "дёрганье" сэмулировать?

Ссылка на комментарий
  • 0
3 часа назад, hippocamus сказал:

TMS браузер не пробовал, в чём собственно его преимущество?

Как бы это по мягче сказать.... он (почти) работает. На андроиде работает (хоть как-то) только он, на винде глюков в несколько раз меньше стокового.

3 часа назад, hippocamus сказал:


RichEdit от TMS пробовал - очень сильно медленно работает, а у меня около 700k чистого текста.

Я про российский компонент. TRichView. Даже бэкап сайта на его основе делал. Честно скажу - 700к в него не пихал, но порядка 80-100к - живал без проблем.




 

Изменено пользователем Akad
Ссылка на комментарий
  • 0
В 24.04.2018 в 01:09, Akad сказал:

Как ведёт себя браузер от TMS?

Так же точно. Единственно - на него всё-таки устанавливается фокус при старте программы. Программно же установить тоже невозможно. Также не даёт поверх себя MultiView рисовать и не обновляется по Repaint.

Ссылка на комментарий
  • 0

вэбвью это не компонент делфи что бы репаинт срабатывал. это контейнер для компонента системы. что бы его обновить надо ипользовать нативные команды браузера. почитай какие есть команды у самого браузера под виндой и под андроиом и ими пользуйся. 

Ссылка на комментарий

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить на вопрос...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...