Russian Qt Forum
Июня 25, 2025, 10:41 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
 
  Начало   Форум  WIKI (Вики)FAQ Помощь Поиск Войти Регистрация  

Страниц: [1]   Вниз
  Печать  
Автор Тема: QWebView, навигация по #id внутри страницы  (Прочитано 4415 раз)
DpoHro
Гость
« : Сентября 01, 2009, 16:28 »

Приложение грузит в QWebView ф-ей load урл созданный fromLocalFile, то есть файл находится на диске.
Необходимо реализовать навигацию при помощи ф-ий back, forward внутри этого документа по якорям (переходов на др. страницы не планируется).

Проблемы:
1. При навигации с установленным
Код:
m_webView->page()->setLinkDelegationPolicy(QWebPage::DelegateAllLinks);
переход на якорь происходит только по второму щелчку по линку, при первом щелчке приходит сигнал linkClicked, но приходит оно всеравно рано для того, чтобы сделать кнопкам назад/вперед нужные состояния, так как в этот момент в истории только один айтем(адрес загруженной страницы). Вопщем и вариант то не вариант.

2.  Сигнал urlChanged походу тоже не подходит, не пробовал, но видимо он отрабатывает, только когда осуществляется переход на др. страницу.

3. Вобщем ищу сигнал который мне сообщит, что переход осуществлен, чтобы установить состояния кнопок (назад/вперед) и при этом ессно урлы записывались бы в историю.

Ссылки сделаны так: <a href="#pic1">...</a>

Башку сломал.
« Последнее редактирование: Сентября 01, 2009, 16:32 от DpoHro » Записан
vipet
Бывалый
*****
Offline Offline

Сообщений: 452


Просмотр профиля
« Ответ #1 : Сентября 03, 2009, 04:34 »

Цитировать
Сигнал urlChanged походу тоже не подходит, не пробовал, но видимо он отрабатывает, только когда осуществляется переход на др. страницу.

Я бы в первую очередь попробовал бы как раз urlChanged
Записан
DpoHro
Гость
« Ответ #2 : Сентября 03, 2009, 14:11 »

Увы он не отрабатывает, работает только при смене адреса страницы, а при переходе по якорям - не работает ((
Записан
BlackTass
Гость
« Ответ #3 : Сентября 03, 2009, 17:19 »

Есть вариант подгружать в загруженную страницу яваскрипт, который будет обходить все ссылки и выставлять им onmouseclick. После чего внедрить туда кутешные объекты (см пример с формой для Webkit) и уже оттуда пробрасывать сигналы.
Записан
Mish_ka
Гость
« Ответ #4 : Июня 07, 2011, 16:49 »

Вопрос встречный, а как сделать добавление урл страницы в историю.

Парсю страницы в хтмл, и передаю через метод setHtml()

История соответственно не добавляется.

Хочу чтобы была возможность возврата к предыдущим страницам.
Записан
Страниц: [1]   Вверх
  Печать  
 
Перейти в:  


Страница сгенерирована за 8.028 секунд. Запросов: 22.