Russian Qt Forum

Qt => Пользовательский интерфейс (GUI) => Тема начата: DpoHro от Сентября 01, 2009, 16:28



Название: QWebView, навигация по #id внутри страницы
Отправлено: 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>

Башку сломал.


Название: Re: QWebView, навигация по #id внутри страницы
Отправлено: vipet от Сентября 03, 2009, 04:34
Цитировать
Сигнал urlChanged походу тоже не подходит, не пробовал, но видимо он отрабатывает, только когда осуществляется переход на др. страницу.

Я бы в первую очередь попробовал бы как раз urlChanged


Название: Re: QWebView, навигация по #id внутри страницы
Отправлено: DpoHro от Сентября 03, 2009, 14:11
Увы он не отрабатывает, работает только при смене адреса страницы, а при переходе по якорям - не работает ((


Название: Re: QWebView, навигация по #id внутри страницы
Отправлено: BlackTass от Сентября 03, 2009, 17:19
Есть вариант подгружать в загруженную страницу яваскрипт, который будет обходить все ссылки и выставлять им onmouseclick. После чего внедрить туда кутешные объекты (см пример с формой для Webkit) и уже оттуда пробрасывать сигналы.


Название: Re: QWebView, навигация по #id внутри страницы
Отправлено: Mish_ka от Июня 07, 2011, 16:49
Вопрос встречный, а как сделать добавление урл страницы в историю.

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

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

Хочу чтобы была возможность возврата к предыдущим страницам.