javascript – chrome.tabs.executeScript从注入的文件返回值为background.js [复制]
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了javascript – chrome.tabs.executeScript从注入的文件返回值为background.js [复制],小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1380字,纯文字阅读大概需要2分钟。
内容图文
![javascript – chrome.tabs.executeScript从注入的文件返回值为background.js [复制]](/upload/InfoBanner/zyjiaocheng/756/eb9884cafe6f4deb98f87786ae05afa7.jpg)
参见英文答案 > about chrome.tabs.executeScript( id,details, callback) 1个
我做了一个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);
});
});
});
文件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 ???
}
我的问题是什么是添加到do.js以返回简单文本值的代码.我已阅读此question,但我不明白答案.
在manifest.json下面
"background": {
"scripts": ["background.js"]
},
"permissions": [
"tabs", "http://*/*", "https://*/*","file:///*"
],
"browser_action": {
"default_title": "Mute Hangout",
"default_icon": "icon16.png"
},
"manifest_version": 2
谢谢
解决方法:
当注入脚本被执行时,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
内容总结
以上是互联网集市为您收集整理的javascript – chrome.tabs.executeScript从注入的文件返回值为background.js [复制]全部内容,希望文章能够帮你解决javascript – chrome.tabs.executeScript从注入的文件返回值为background.js [复制]所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。