Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何知道谷歌什么时候搜索?_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 如何知道谷歌什么时候搜索?

Javascript 如何知道谷歌什么时候搜索?,javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我正在开发一个chrome扩展,我需要知道谷歌搜索什么时候可以对每个搜索执行操作 我尝试用侦听请求,但缓存的请求未被捕获 每次我在谷歌搜索时,Evernote extension都会在我的笔记中搜索,即使请求已缓存。他们是怎么做的,或者怎样做相似的事情?这里有一篇关于这个主题的帖子 诀窍是使用 document.addEventListener("DOMSubtreeModified", function(event){ 收听谷歌搜索页面上的每一个更改。如何将内容脚本注入到所有谷歌主页?听起来

我正在开发一个chrome扩展,我需要知道谷歌搜索什么时候可以对每个搜索执行操作

我尝试用侦听请求,但缓存的请求未被捕获


每次我在谷歌搜索时,Evernote extension都会在我的笔记中搜索,即使请求已缓存。他们是怎么做的,或者怎样做相似的事情?

这里有一篇关于这个主题的帖子

诀窍是使用

document.addEventListener("DOMSubtreeModified", function(event){

收听谷歌搜索页面上的每一个更改。

如何将内容脚本注入到所有谷歌主页?听起来很难看,但可能有用…谢谢你的回答@CamiloMartin。我一直有一个内容脚本,但它不会告诉我什么时候执行搜索,因为谷歌使用的是Ajax。那么分析搜索结果而不是webrequest呢?您可以定期查看页面以查找搜索结果并分析内容。有点慢,但我不确定如果webRequest不能为您提供所需内容,您还会做什么(在内容脚本上)。@Kaizo真的吗?哇,真出乎意料。也许对搜索的工作方式进行反向工程,你可以用
someApi.oldFunction=function(){yourCode();oldFunction();}
替换它调用的一些函数,但这有点糟糕。或者监视某个DOM元素何时获得新内容?也有点糟糕…每次搜索都会触发多次事件。我试过这样做:
document.addEventListener(“domsubtreedimend”,函数(事件){console.log(document.getElementById('gs_taif0').value | | document.getElementById('gbqfq').value)})并为添加到dom中的每个项激发事件。我做错了吗?有没有办法让它触发一个事件而不是15个?网站上对此进行了解释。只听15个“DOMSubtreeModification”中的第一个的方法是在google结果主DIV中添加一个小DIV。如果用户进行了新的搜索,则该DIV将被google删除。这会很好地工作。这或多或少是@CamiloMartin建议做的,但是监视所有DOM。谢谢