St3*_*3ph 3 javascript google-chrome google-chrome-extension
我做了一个chrome扩展,在用户点击图标(浏览器操作)后运行.用户单击图标后,文件background.js正在运行.它将检查选项卡,并在选项卡中注入一个js文件.
文件background.js
chrome.browserAction.onClicked.addListener(function(tab) {
chrome.tabs.query({'url':"URL TO SEARCH"}, function(tabs) {
//console.log(tabs[0].id);
chrome.tabs.executeScript(tabs[0].id, {file: "do.js"}, function (test){
console.log(test);
});
});
});
Run Code Online (Sandbox Code Playgroud)
文件do.js做了一些事情(它没有问题),我想在do.js的末尾返回一个值,但我陷入了代码,因为我找不到解决方案.
do.js
if ( Test1) {
do something;
return ok; //how to do that ????
}else{
do someting;
return not ok; //how to do ???
}
Run Code Online (Sandbox Code Playgroud)
我的问题是什么是添加到do.js以返回简单文本值的代码.我读过这个问题,但我不明白答案.
在manifest.json下面
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs", "http://*/*", "https://*/*","file:///*"
],
"browser_action": {
"default_title": "Mute Hangout",
"default_icon": "icon16.png"
},
"manifest_version": 2
Run Code Online (Sandbox Code Playgroud)
谢谢
Chi*_*ice 10
当注入脚本被执行时,chrome.tabs.executeScript的回调将被激活.最后一个语句将作为result参数传递给回调函数.
var result;
if (Test1) {
do something
result = "ok";
}else{
do something
result = "not ok";
}
// pls make sure that the result you want to pass to executeScript callback need to be the last statement of the injecting script
result
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
4643 次 |
最近记录: |