跟踪Ctrl+;用JavaScript编写F?

跟踪Ctrl+;用JavaScript编写F?,javascript,browser,analytics,Javascript,Browser,Analytics,通过JavaScript中的Ctrl+F可以知道我的用户在我的网页上搜索什么吗?因此,当用户使用Ctrl+F搜索某个内容时,JavaScript可以捕获此操作(以及搜索短语)并将其发送回服务器 可能吗?怎么做?不,不可能。在某些浏览器上,您可以捕获Ctrl+F组合键,但无法监视用户搜索的内容。在其他浏览器上,您根本无法捕获Ctrl+F 如果有什么安慰的话,可能有一个安全漏洞可以在IE6上使用。不。你不能,而且出于所有安全原因,你永远不能访问页面之外的浏览器UI元素。您可以捕获Ctrl+F并自行处

通过JavaScript中的Ctrl+F可以知道我的用户在我的网页上搜索什么吗?因此,当用户使用Ctrl+F搜索某个内容时,JavaScript可以捕获此操作(以及搜索短语)并将其发送回服务器

可能吗?怎么做?

不,不可能。在某些浏览器上,您可以捕获Ctrl+F组合键,但无法监视用户搜索的内容。在其他浏览器上,您根本无法捕获Ctrl+F


如果有什么安慰的话,可能有一个安全漏洞可以在IE6上使用。

不。你不能,而且出于所有安全原因,你永远不能访问页面之外的浏览器UI元素。您可以捕获Ctrl+F并自行处理。但是,当然,它看起来与浏览器自己的UI元素不同。

我刚刚找到了一种在某些情况下可能有用的解决方法

请注意,文档和可滚动元素总是滚动到下一个搜索事件-我们可以利用这一点,创建一个“隐藏的”可滚动元素并等待它滚动。 当它滚动时,您可以读取它滚动到的位置并获得匹配的单词

HTML:

JS:


是的,这是可能的。你到底有什么问题?我不知道怎么回事。我在谷歌上搜索,这一切都触发了Ctrl+F键,而不是跟踪它。通过谷歌找到:(用F替换s键代码)。这可以跟踪击键-跟踪他们在搜索框中键入的内容超出了javascripts的能力。对不起,我只能获取ctrl+f键的笔划。无法在浏览器中检索他们正在搜索的文本。
<div id="hiddenScrollableContent">
    <div></div> <!-- first element must be empty -->
    <div>car</div>
    <div>cat</div>
    ...
</div>
#hiddenScrollableContent{
    overflow: scroll;
    position:absolute;
    height:20px;  /* can't be zero ! */
    opacity:0.01; /* can't be zero ! */
    pointer-events: none;
}
#hiddenScrollableContent div{
    height: 100px;
}
$('#hiddenScrollableContent').scroll(function(e){
    var top = $(this).scrollTop();

    if (top==0)
        return; //prevents endless loop

    var index = Math.round(top / 100);
    var element = $('div', this).eq(index);
    var elementsText = element.text();
    $(this).scrollTop(0);

    console.log('top:'+top, 'index:'+index);

    $('span').text(elementsText);
});