下载错误

时间:2013-04-29 12:33:53

标签: qt download policy qwebview

下载控制台会返回以下错误:

  

由政策变更中断的框架负载

示例:

<a href="app.exe">Start Download</a>

控制台预览: enter image description here

我应该在编译器 QWebSettings 中配置某些内容吗?

2 个答案:

答案 0 :(得分:2)

我发现了。 在传统的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*/
}

答案 1 :(得分:1)

编辑:如果没有我在评论中请求的正确回溯,很难说,但看起来警告可能实际上是无害的。

<强>原始: 那是因为QWebView doesn't know如何处理您的app.exe文件 - 毕竟它不是HTML页面或text/plain文档或支持的图像。 QWebView类不是Web浏览器;你显然想要开始下载某个文件,但是那个类中没有完整的下载管理器。您必须为此提供自己的代码 - 代码必须要求保存适当的位置等。

您可以从QWebPage::setLinkDelegationPolicy开始并自行处理此特定点击。