WebEngineView - 立即运行 JavaScript在执行页面脚本之前

问题描述

我有一个使用 WebEngineView 的 QtQuick 浏览器。 我想在加载普通脚本之前执行一些 JS 代码,在 window 中设置一个变量,以便普通脚本在执行时可以获取它。

我尝试过这样的事情:

WebEngineView {
        id: webview
        width: appContainer.width
        url: appContainer.pathUrl
        height: appContainer.height

        onLoadingChanged: {
            console.log('onLoadingChanged');
            webview.runJavaScript("window.someVariable = true");
        }
    }

我可以看到几次“onLoadingChanged”日志,并且变量设置正确。但是,我正在启动一个非常简单的 Vue 应用程序,其中包含一个简单的静态组件,我尝试检查它的 mounted 回调中的变量:

mounted: function() {
    console.log(window.someVariable);
    setInterval(function() { console.log(window.someVariable); },1000);
}

第一个控制台日志打印 undefined,但下一个间隔刻度打印 true。所以变量设置正确,但它是在初始页面加载之后(甚至在 DOMContentLoaded 之后)

有没有办法在其他一切发生之前自动设置这个变量?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)