右键单击QWebView禁用文本选择

时间:2011-11-16 22:34:06

标签: qt webkit qwebview

右键单击Windows上使用QWebView查看的网页上的任何文本,选择光标下的单词。我想禁用此行为,但无法在文档中找到任何引用。

2 个答案:

答案 0 :(得分:5)

这种偏好似乎深入到 Webkit (支持QWebView和谷歌浏览器的引擎)。有一个Webkit bug涉及对右键单击某些文本所需的行为进行一些讨论,但此讨论(以及后续更改)发生在 Webkit 之后分支创建QtWebkitRelease20(随着 Qt 4.7.x 发布的版本) - 我认为这就是为什么你想要的行为在 Chrome 中可见但不是<强> Qt的即可。还有另一个即将推出的分支QtWebkitRelease22,它将作为 Qt 4.8 的一部分包含在内 - 我认为您所做的更改将在该版本中实施。

所以我看到你的选择是:

答案 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>