【问题标题】:How to change QML WebEngineView URL error page如何更改 QML WebEngineView URL 错误页面
【发布时间】:2019-01-15 05:09:39
【问题描述】:

我在 QML 中使用 WebEngine。有没有办法改变 URL 错误时显示的内容?它目前说的是:

This site can’t be reached
The webpage at qrc:/blahblah.html might be temporarily down or it may have moved permanently to a new web address.
ERR_INVALID_URL

这是不合适的,因为它不是一个网站,只是一个缺少的 QML 资源。欢迎使用 QML 或 C++ 解决方案。

【问题讨论】:

    标签: qt qml qwebengineview webengine


    【解决方案1】:

    对于 Qt WebEngine,它是一个无效的资源,因此它表明它是一个无效的 URL。一种可能的解决方案是检测错误并加载所需的 HTML。

    WebEngineView {
        anchors.fill: parent
        url: "qrc:/blahblah.html"
        onLoadingChanged: {
            if(loadRequest.status === WebEngineLoadRequest.LoadFailedStatus){
                var html = loadRequest.errorString;
                console.log(loadRequest.errorDomain)
                loadHtml(html);
            }
        }
    }
    

    【讨论】:

    • 像往常一样,无论我尝试什么都成功了。问题是 loadHtml() 在历史记录中添加了一个新的“页面”,所以如果我按照看到错误时通常会做的事情,去“返回”,它会返回到原来的错误页面,然后返回到我的错误页面,而不是之前的页面。所以我尝试在 loadHtml() 之前调用 goBack()。好吧,没有快乐。我一直在调用console.log,试图找出事情实际发生的顺序——使用浏览器,在你调用它之后,很多事情都会在后台发生。我还没有想出一个真正有效的组合。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-07-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-09-20
    • 1970-01-01
    • 2014-06-11
    相关资源
    最近更新 更多