Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/454.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

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扩展和总体开发都是新手 我有一段代码,我经常在工作中使用,我只是粘贴到Chrome控制台,使其工作 创建一个扩展来简化我的工作,我希望在单击扩展弹出窗口上的链接时也能有同样的效果。 本质上,我试图从弹出窗口向当前选项卡的控制台发送一条“消息”。我试图找出如何发送一个简单的console.log(“hi”),但无法让它工作,也无法为像我这样的白痴找到一个简单的解释 非常感谢您的帮助。 谢谢 见。这取决于你需要做什么,容易与否 要与当前选项卡交互,至少需要内容脚本。最适合这种情况 绝

我对Chrome扩展和总体开发都是新手

我有一段代码,我经常在工作中使用,我只是粘贴到Chrome控制台,使其工作

创建一个扩展来简化我的工作,我希望在单击扩展弹出窗口上的链接时也能有同样的效果。 本质上,我试图从弹出窗口向当前选项卡的控制台发送一条“消息”。我试图找出如何发送一个简单的console.log(“hi”),但无法让它工作,也无法为像我这样的白痴找到一个简单的解释

非常感谢您的帮助。 谢谢

见。这取决于你需要做什么,容易与否

要与当前选项卡交互,至少需要内容脚本。最适合这种情况

绝对最小扩展是:

manifest.json:

{
  /*..required fields like "name"..*/
  "background" : {
    "scripts" : [ "background.js" ]
  },
  "browser_action": {
    "default_icon": "someimage.png"
  },
  "permissions" : [
    "activeTab"
  ]
}
background.js:

chrome.browserAction.onClicked.addListener(function(tab) {
  chrome.tabs.executeScript(tab.id, {file: "content.js"});
});
content.js:

console.log("hi");
这实现了在控制台中打印静态字符串的任务。如果需要,您可以创建一个弹出页面,并将逻辑从单击的
onClicked
侦听器移动到该页面,例如,如果您需要多个链接


可能的并发症很多

  • 假设要打印一个字符串,该字符串依赖于扩展名中已知的内容

    然后,您必须使用或将此信息传递给内容脚本

  • 假设您想要打印依赖于页面中运行的JavaScript(而不仅仅是DOM)的内容

    那么,你必须这样做。另见

  • 假设您希望在控制台中执行某些操作,而不仅仅是记录日志

    可以使用在页面上下文中执行代码的方法2,但在这一点上,您应该考虑做一个。您可以添加自己的面板,使用

    eval()
    与页面交互,并完全访问一般来说,这可能是一个好主意,如果稍微复杂一些的话。请注意,在编写Devtools扩展时,需要遵守以下规则


  • 需要更多信息。您是否只需要将某些内容记录到控制台?这与页面中的任何内容有关吗?如果是,什么?你好,谢谢你的回复。我使用的代码不依赖于页面上的任何内容。现在,我认为知道如何将一些文本记录到当前选项卡的控制台会很好,也许我可以从那里获取这些文本。召唤全能的机器人对所提到的内容进行分类。这真的很有帮助。谢谢你花时间给出这个详细的答案。@Xan你应该给我加一个@符号。现在我只在访问此页面后才看到该评论;)@RobW我认为如果你没有参与到一个帖子中,这是行不通的。我知道你无论如何都会看到的;)@Borisablam表示,评论部分绝对不是讨论此类问题的地方;试着把这个问题表述成一个新问题,然后贴出来。我监视此标签中的问题,并将返回给您。