WebEngineView:禁用内容选择

时间:2017-06-27 17:09:36

标签: qt qml

如何禁用在QML中选择WebEngineView中的内容?

WebEngineView {
    id: webEngineView
    width: 600 * contentZoomFactor
    height: parent.height
    anchors.horizontalCenter: parent.horizontalCenter
    zoomFactor: contentZoomFactor

    onContextMenuRequested: {
        request.accepted = true;
    }
}

1 个答案:

答案 0 :(得分:0)

你可以通过注入一些JavaScript来设置身体上禁用选择的样式。

以下是一个例子:

使用一个函数创建名为disableUserSelection.js的JavaScript文件:

(function () {
    document.body.style.webkitUserSelect = 'none';
    document.body.style.webkitUserDrag = 'none';
})();

然后将其作为UserScript注入您的网页:

WebEngineScript {
id: disableSelectionScript
injectionPoint: WebEngineScript.DocumentReady
sourceUrl: "qrc:/disableUserSelection.js"
worldId: WebEngineScript.MainWorld
}

userScripts: [disableSelectionScript]

这应该可以解决问题。