首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >从chrome扩展文档中获得错误无效参数

从chrome扩展文档中获得错误无效参数
EN

Stack Overflow用户
提问于 2022-11-28 13:59:24
回答 1查看 22关注 0票数 0

当我试图从谷歌文档执行脚本时,我试图做一个简单的扩展,将页面中的文本放入另一个选项卡中的google中,得到以下错误:

我在popup.js中有这个代码(我还在学习)

代码语言:javascript
复制
var getTheText = ()=>{
    textfromtab= document.querySelector("p.maintext").textContent;
        textfromtab= textfromtab.replace(/["']/g, " ");
        chrome.tabs.create({
            url: "https://www.google.com/search?q="+textfromtab
        });
    
    }

async function getCurrentTab() {
  let queryOptions = { active: true, lastFocusedWindow: true };

  let [tab] = await chrome.tabs.query(queryOptions);
  console.log(tab);
  return tab.id;
}

function gettabqu(){
    const tabId = getCurrentTab();
    chrome.scripting.executeScript(
    {
      target: {tabId: tabId, allFrames: true},
      func: getTheText,
    });
}
var textfromtab = "";

这是我的manifest.json的权限:

代码语言:javascript
复制
"permissions": ["storage", "activeTab", "scripting","tabs"],

这就是我做console.log(tab.id)时得到的

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-11-28 14:19:12

问题在于:

代码语言:javascript
复制
const tabId = getCurrentTab();

getCurrentTab()是一个asnyc函数。

Asnyc函数总是返回承诺。

因此,当target.tabId应该是一个整数时,它就是一个承诺。

解决方案:

代码语言:javascript
复制
const tabId = await getCurrentTab();

但这意味着您还需要使gettabqu()成为一个异步函数,否则您将无法在其中使用await

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/74601704

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档