Javascript 如何获得div';s当前页面的内容和Google它?

Javascript 如何获得div';s当前页面的内容和Google它?,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我曾考虑过使用jQuery,但在Chrome扩展和JavaScript方面我非常缺乏经验。当用户单击按钮时,我需要从页面中获得一个div(带有id,它是静态的,但内容是动态的)。我在获取当前页面的内容时遇到困难,不知道是否有人可以给我一些提示或指导我找到相关的答案/教程 谢谢。如果您知道ID,您可以使用jQuerys ID选择器: 一旦找到div,就可以使用此方法获取其文本如果您只想将div的内容作为查询提交给Google,只需一行即可,无需jQuery window.location = 'h

我曾考虑过使用jQuery,但在Chrome扩展和JavaScript方面我非常缺乏经验。当用户单击按钮时,我需要从页面中获得一个div(带有id,它是静态的,但内容是动态的)。我在获取当前页面的内容时遇到困难,不知道是否有人可以给我一些提示或指导我找到相关的答案/教程


谢谢。

如果您知道ID,您可以使用jQuerys ID选择器:
一旦找到div,就可以使用此方法获取其文本

如果您只想将div的内容作为查询提交给Google,只需一行即可,无需jQuery

window.location = 'http://www.google.com/search?q='+encodeuricomponent(document.getElementById('theid').innerHTML);

好吧,要做你想做的事,你需要做三件事。首先,学习如何使用将代码注入到给定的选项卡中。第二个是从选项卡中获取所需信息,最后一个是使用步骤2中获得的字符串进行搜索。所有这些的一个例子如下。对于这段代码,我将使用
domain.com
作为获取信息的站点

manifest.json

"background": {
  "scripts": ["background.js"]
},
"permissions": [
  "tabs","*://www.domain.com/*"
],
"content_scripts": [{
  "matches": ["*://www.domain.com/*"],
  "js": ["jquery.js","getText.js"]
}]
getText.js

$('#buttonID').click(function(){
  // I am assuming that the contents are directly what you want to search with 
  var text = $('#divID').text();
  // At this point you could simply use window.location to search in this tab
  // but in the case you would rather open a new tab to search in
  // I will show you that as an example
  chrome.runtime.sendMessage({method:'searchText',text:text});
});
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
  if(message.method == 'searchText'){
    var url = "http://www.google.com/search?q="+encodeuricomponent(message.text);
    chrome.tabs.create({url:url});
  } 
});
background.js

$('#buttonID').click(function(){
  // I am assuming that the contents are directly what you want to search with 
  var text = $('#divID').text();
  // At this point you could simply use window.location to search in this tab
  // but in the case you would rather open a new tab to search in
  // I will show you that as an example
  chrome.runtime.sendMessage({method:'searchText',text:text});
});
chrome.runtime.onMessage.addListener(function(message,sender,sendResponse){
  if(message.method == 'searchText'){
    var url = "http://www.google.com/search?q="+encodeuricomponent(message.text);
    chrome.tabs.create({url:url});
  } 
});
此代码将向所需页面中插入
内容脚本
,单击按钮时从所需div中提取文本,将该文本发送到背景页面,然后打开一个新选项卡,将该文本作为搜索参数。我有点即兴写了这篇文章,对于语法错误,我深表歉意。

另外,jQuery是不需要的,因为你可以用纯javascript来实现这一点,但我向你展示了如何用它来实现,以防你需要它来做其他事情。

我在这里感到非常愚蠢,但我应该把它放在哪里呢?哇。我并不是想让你为我写这整件事,但是谢谢!那一定是很多工作。我会测试一下,然后再给你回复。