console.log不能从chrome.tabs.executeScript中运行 [英] console.log doesn't work from chrome.tabs.executeScript
问题描述
所以为了这个目的,我从我的背景js中创建了上下文菜单:
chrome.contextMenus.create({title:title,contexts:contexts,
onclick:genericOnClick});
它与预期一致。后来从genericOnClick我尝试执行我的脚本:
chrome.tabs.executeScript(null,{code:console。 log('test 1');},function(){
console.log(test 2);
});
我可以看到test 2被打印到控制台,但test 1 。我究竟做错了什么?
我已经尝试将console.log语句添加到单独的js文件中,但它未能打印出来:
chrome.tabs.executeScript(null,{file:'content_script.js'},function(){
console.log(test 2);
});
注意:我的content_script.js没有在清单中定义。我的清单看起来如下所示:
{
name:My First Extension,
版本:1.0,
manifest_version:2,
description:示例扩展,
page_action:{
default_icon:图标。 png,
default_popup:popup.html
},
permissions:[
http:// * / *,
https:// * / *,
tabs,
contextMenus
],
background:{
scripts:[sample .js]
},
图标:{
16:icon16.png
}
}
预先感谢您。
// addListener
chrome.browserAction.onClicked.addListener(function(){
chrome.tabs.executeScript(null,{file:content_script .js},function(){
console.log(test 2);
});
});
//上下文菜单
chrome.contextMenus.create({
title:myTitle,
contexts:['page'],
onclick:function(detail,tab){fn(tab)}
});
so;
permissions:[
tabs,http:// * / *,https:// * / *
]
chrome.tabs.executeScript(NULL,{代码: document.body.style.backgroundColor = '红'});
或:
//函数结构
函数hi(){alert(hi); };
//在运行函数(hi)()
之后,函数toString chrome.tabs.executeScript(null,{code:(+ hi.toString()+)() });
I need to execute script once user clicked my context menu item.
So for the purpose I created the context menu from my background js:
chrome.contextMenus.create({"title": title, "contexts": contexts,
"onclick": genericOnClick});
It appears as expected. Later on from the genericOnClick I try to execute my script:
chrome.tabs.executeScript(null, {code: "console.log('test 1');"}, function() {
console.log("test 2");
});
I can see that the "test 2" is printed to console but "test 1" never gets printed. What am I doing wrong? I've tried adding the console.log sentence to a separate js file but it failed to print it as well:
chrome.tabs.executeScript(null, {"file": 'content_script.js'}, function() {
console.log("test 2");
});
Note: my content_script.js is not defined in manifest. My manifest looks like follows:
{
"name": "My First Extension",
"version": "1.0",
"manifest_version": 2,
"description": "Sample extension",
"page_action": {
"default_icon": "icon.png",
"default_popup": "popup.html"
},
"permissions": [
"http://*/*",
"https://*/*",
"tabs",
"contextMenus"
],
"background": {
"scripts": ["sample.js"]
},
"icons": {
"16": "icon16.png"
}
}
Thank you in advance.
// addListener
chrome.browserAction.onClicked.addListener(function() {
chrome.tabs.executeScript(null, {file: "content_script.js"}, function() {
console.log("test 2");
});
});
// Context Menu
chrome.contextMenus.create({
title: myTitle,
contexts: ['page'],
onclick: function (detail, tab) { fn(tab) }
});
so;
"permissions": [
"tabs", "http://*/*", "https://*/*"
]
chrome.tabs.executeScript(null,{code:"document.body.style.backgroundColor='red'"});
or:
// Functional structure
function hi() { alert("hi"); };
// hi function toString after run function (hi)()
chrome.tabs.executeScript(null, { code: "(" + hi.toString() + ")()" });
这篇关于console.log不能从chrome.tabs.executeScript中运行的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!