Название: QWebView -> дочерние окна, открываемые JavaScript Отправлено: PinkPanther от Октябрь 21, 2013, 04:12 В моей программе есть браузер (QWebView), иногда в него приходится загружать страницы, которые используют JavaScript, в частности, при нажатии на некоторые ссылки в обычном браузере появляются окошки для ввода текста, или открываются дочерние окна браузера. Вот пример кода со страницы:
<a title="Ввести ключ" href="javascript:wo('keyID017319')"><img src="/images/enter.jpg"></img></a> Мне только что потребовалась эта опция, пока особенно не разбирался, но при беглом взгляде QWebView не хочет открывать окна при клике на такие ссылки, то есть в результате ничего не происходит. Клик правой кнопкой по ссылке вызывает контекстное меню, в нем есть Open Window и Open in New Window, которые ничего не делают. Подскажите пожалуйста, как заставить QWebView использовать JavaScript в контексте использования дополнительных окон? Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: Dexel от Январь 17, 2014, 01:03 Инспектор JS в WebView включи:
Код: ui->webView->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: PinkPanther от Январь 17, 2014, 01:06 Инспектор JS в WebView включи: Код: ui->webView->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); Спасибо, попробую. Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 08, 2014, 21:07 Инспектор JS в WebView включи: Код: ui->webView->page()->settings()->setAttribute(QWebSettings::DeveloperExtrasEnabled, true); Для интереса сделал, как Вы написали. В результате получаю ошибки. Просто кинул WebView на форму: (http://i7.pixs.ru/storage/1/7/3/163png_5551263_11607173.png) Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: Old от Апрель 08, 2014, 21:13 А модуль webkit в проект не подключили?
QT += webkit Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 08, 2014, 21:17 Попробовал подключить, всё равно не работает.
Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: Old от Апрель 08, 2014, 21:19 Попробовал подключить, всё равно не работает. А после этого qmake запускали?Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 08, 2014, 21:34 Я через Qt Creator зелёную кнопочку нажимаю :)
Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: Old от Апрель 08, 2014, 21:35 Я через Qt Creator зелёную кнопочку нажимаю :) Попробуйте зайти: Сборка -> Запустить qmakeНазвание: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 08, 2014, 21:45 Да, QMake отрабатывает. А вот Run - нет. Те же ошибки, что и выше.
Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: Old от Апрель 08, 2014, 21:49 А так?
QT += webkitwidgets Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 08, 2014, 22:26 Да, так работает :) Спасибо огромное!
А почему? Ведь написано, что нужно так: QT += webkit Здесь: http://qt-project.org/doc/qt-5/qtwebkitwidgets-index.html А то что у меня в окно "Application Output" выводится: Цитировать LEAK: 1 Range Это нормально?LEAK: 169 CachedResource LEAK: 1094 WebCoreNode Название: Re: QWebView -> дочерние окна, открываемые JavaScript Отправлено: 8Observer8 от Апрель 09, 2014, 07:44 Эти утечки возникают только в момент закрытия приложения, поэтому на них можно забить :)
|