для загрузки консоли возвращает следующую ошибку:
Загрузка фрейма прервана изменением политики
Пример:
<a href="app.exe">Start Download</a>
Предварительный просмотр в консоли:
Должен ли я что-то настроить в Компиляторе или QWebSettings?
для загрузки консоли возвращает следующую ошибку:
Загрузка фрейма прервана изменением политики
Пример:
<a href="app.exe">Start Download</a>
Предварительный просмотр в консоли:
Должен ли я что-то настроить в Компиляторе или QWebSettings?
Я обнаружил. В обычных браузерах Webkit место для загрузки консоли показывает, как запрос отменен, поэтому перед обращением к «менеджеру загрузок» браузера запрос следует отменить.
решение:
//replace [QWebView] by your WebView
connect([QWebView]->page(), SIGNAL(unsupportedContent(QNetworkReply*)),
this, SLOT(downloadContent(QNetworkReply*)));
...
void [main class]::downloadContent(QNetworkReply *reply){
//Replace "[main class]" by "Class" having the signs used in WebView.
[QWebView]->stop();
//solution: stop loading --replace [QWebView] by your WebView
/*function to donwload*/
}
Редактировать: трудно сказать без надлежащей обратной трассировки, которую я запросил в комментариях, но похоже, что предупреждение на самом деле может быть безвредным.
Оригинал: это потому, что QWebView
не знает что делать с вашим файлом app.exe
-- в конце концов, это не HTML-страница, не документ text/plain
и не поддерживаемое изображение. Класс QWebView
не является веб-браузером; вы, видимо, хотите начать загрузку какого-то файла, но в этом классе нет полноценного менеджера загрузок. Для этого вам нужно будет предоставить свой собственный код - код должен будет запросить правильное место для его сохранения и т. д.
Вы можете начать с QWebPage::setLinkDelegationPolicy
и самостоятельно обработать этот конкретный клик. .
QWebPage::setLinkDelegationPolicy
. Я использовал connect(QWebPage, SIGNAL(unsupportedContent(QNetworkReply*)), this, SLOT(signalDownload(QNetworkReply*)));
и setForwardUnsupportedContent(true)
, с ним загрузка работает отлично. Единственная проблема это сообщение policy
какое-то странное (я не понимаю зачем эта политика и что это такое). Если вы можете отредактировать свой ответ, я был бы признателен. Добрый день.
- person Guilherme Nascimento; 02.05.2013
setLinkDelegationPolicy
только для mimetypes
неопознанных? И распознанные миметипы продолжают нормально функционировать (стандартный режим)?
- person Guilherme Nascimento; 02.05.2013
WebCore::MainResourceLoader::stopLoadingForPolicyChange()
— это функция для установки точки останова. Как выглядит трассировка стека?
- person Jan Kundrát; 02.05.2013
unsupportedContent
, используяQWebView->setPage(new myClassPageRewrite())
? - person Guilherme Nascimento   schedule 07.05.2013