是否可以与具有chrome扩展的非活动选项卡中的内容元素进行交互?

时间:2013-12-02 22:22:04

标签: javascript jquery google-chrome google-chrome-extension

我会尽量提出我的问题:

在Chrome浏览器中,我有两个标签正在运行(一个使用google.com,另一个正在加载bing.com),并且已选中Google加载标签。 Google搜索框的输入元素ID为“gbqfq”,Bing的搜索框的输入元素ID为“sb_form_q”。

我的manifest.json文件的内容如下:

{
  "name": "MyExtention",
  "version": "0.1.1",
  "description": "Description",
  "content_scripts": [
    {
      "matches": ["*://*.bing.com/*","*://*.google.com/*"],
      "css": ["basic.css"],
      "js": ["jquery.js", "contentscript.js"]
    }
  ],
 "content_security_policy": "script-src 'self' 'unsafe-eval'; object-src 'self'",
 "web_accessible_resources": ["*"] ,
 "permissions":["tabs","*://*.bing.com/*","*://*.google.com/*"],
 "externally_connectable": {
   "matches": ["*://*.bing.com/*","*://*.google.com/*"]
 },
 "background": {"scripts": ["background.js"] },
   "browser_action": {
    "default_icon": "icon.png",
    "default_popup": "popup.html"
  },
  "manifest_version": 2
}

是否可以使用chrome.extention与所有打开的标签中的元素进行交互?

我的chrome.extention在选中(激活)其标签时从“google.com”和“bing.com”中找到该元素的ID,但无法将所选标签中的元素值传递给未选中的标签。

我想要做的是从一个标签的内容中获取输入元素的值,并在另一个标签的内容中更改输入元素的值。

这是否可以使用chrome.extentions? 如果有可能;我该怎么办呢?

P.S:

  
      
  • 我不是在寻找另一种方法来完成我的任务!
  •   
  • 我只是想知道 - 是否可以用这种方法完成它?
  •   
  • 我的chrome.extention中确实有jquery支持
  •   
  • 我是新手 新手,newb,noob或者n00b是新手或新手的俚语,或者在任何专业或活动中缺乏经验的人。   

      

    祝你万事如意!

  •   

1 个答案:

答案 0 :(得分:1)

是的,这是可能的。您需要的是Message passing,它允许您在内容脚本和背景页面之间发送消息。如果您在后台页面中处理输入,则可以将相关数据发送回相应的选项卡。