谷歌铬扩展:: console.log()从后台页面?
如果我打电话给console.log('something');
从弹出页面,或包括任何脚本,它工作正常。
但是,由于背景页面并非直接从弹出页面运行,因此它不包含在控制台中。
有没有办法让我可以在后台页面中获取console.log()
以在弹出页面的控制台中显示?
有没有办法从背景页面调用弹出页面中的函数?
任何扩展页面(内容脚本除外)都可以通过chrome.extension.getBackgroundPage()
直接访问后台页面。
这意味着,在弹出页面中,您可以执行以下操作:
chrome.extension.getBackgroundPage().console.log('foo');
为了使它更容易使用:
var bkg = chrome.extension.getBackgroundPage();
bkg.console.log('foo');
现在如果你想在内容脚本中做同样的事情,你必须使用消息传递来实现这一点。 原因是,他们都属于不同的领域,这是有道理的。 消息传递页面中有很多示例供您检查。
希望清除一切。
在这里抛出明显的答案以防万一。 你知道你可以打开后台页面的控制台,如果你点击扩展列表中的“background.html”链接,对吧?
编辑
要访问与您的扩展相对应的后台页面,请打开Settings / Extensions
或打开新标签并输入chrome://extensions
。 你会看到类似这样的截图。
在您的扩展下,点击链接background page
。 这将打开一个新窗口。 对于上下文菜单示例窗口具有标题: _generated_background_page.html
。
要直接回答您的问题,当您从后台调用console.log("something")
,会将此消息记录到后台页面的控制台。 要查看它,你可以去chrome://extensions/
并点击你的扩展下的inspect view
。
当您单击弹出窗口时,它会加载到当前页面,因此console.log应该在当前页面中显示日志消息。
链接地址: http://www.djcxy.com/p/16189.html上一篇: google chrome extension :: console.log() from background page?