Qt 是否可以将CSS注入QML WebView?
我一直在搜索有关将CSS注入QMLWebView的任何信息。Doc说QML WebView是Qt Widgets WebView的轻量级版本。所以我假设不可能将CSS注入WebView。不是吗?一个可能的解决方案是通过javascript注入css(正如我在中指出的):Qt 是否可以将CSS注入QML WebView?,qt,webview,qml,Qt,Webview,Qml,我一直在搜索有关将CSS注入QMLWebView的任何信息。Doc说QML WebView是Qt Widgets WebView的轻量级版本。所以我假设不可能将CSS注入WebView。不是吗?一个可能的解决方案是通过javascript注入css(正如我在中指出的): 谢谢您的回答runJavaScript()是本机方法还是外部方法?@Mikhail我不明白你的意思,请解释清楚,如果你查看WebView文档,你会发现它有这个方法: import QtQuick 2.14 import QtQu
谢谢您的回答
runJavaScript()
是本机方法还是外部方法?@Mikhail我不明白你的意思,请解释清楚,如果你查看WebView文档,你会发现它有这个方法:
import QtQuick 2.14
import QtQuick.Window 2.14
import QtWebView 1.14
Window {
visible: true
width: 640
height: 480
QtObject{
id: internals
property string css: "div { background-color: salmon;}"
}
WebView{
anchors.fill: parent
url: "https://stackoverflow.com"
onLoadingChanged: {
if(loadRequest.status == WebView.LoadSucceededStatus){
runJavaScript(loadCSS("foo", internals.css))
}
}
}
function loadCSS(name, css){
var script = "
(function() {
css = document.createElement('style');
css.type = 'text/css';
css.id = '" + name + "'; " +
"document.head.appendChild(css);
css.innerText ='" + css +"'" +
"})()";
return script;
}
}