右键单击Windows上使用QWebView
查看的网页上的任何文本,选择光标下的单词。我想禁用此行为,但无法在文档中找到任何引用。
答案 0 :(得分:5)
这种偏好似乎深入到 Webkit (支持QWebView
和谷歌浏览器的引擎)。有一个Webkit bug涉及对右键单击某些文本所需的行为进行一些讨论,但此讨论(以及后续更改)发生在 Webkit 之后分支创建QtWebkitRelease20(随着 Qt 4.7.x 发布的版本) - 我认为这就是为什么你想要的行为在 Chrome 中可见但不是<强> Qt的即可。还有另一个即将推出的分支QtWebkitRelease22,它将作为 Qt 4.8 的一部分包含在内 - 我认为您所做的更改将在该版本中实施。
所以我看到你的选择是:
QWidget::setContextMenuPolicy(Qt::NoContextMenu)
将会完成这项工作。QWebView::selectionChanged()
signal
联系,然后使用findText("")
强行取消选择。答案 1 :(得分:1)
我们可以使用JavaScript函数禁用多个浏览器上的文本选择,如下所示
<script type="text/javascript">
function disableSelection(target){
if (typeof target.onselectstart!="undefined") //For IE
target.onselectstart=function(){return false}
else if (typeof target.style.MozUserSelect!="undefined") //For Firefox
target.style.MozUserSelect="none"
else //All other route (For Opera)
target.onmousedown=function(){return false}
target.style.cursor = "default"
}
</script>
调用此功能
<script type="text/javascript">
disableSelection(document.body)
</script>