Javascript Chrome扩展,基于异步获取的数据创建新选项卡
我正在努力解决chrome.tabs.create()的行为问题 以下是我希望实现的目标:单击按钮后,应用程序可以获取一个URL,然后根据我们刚刚获取的Javascript Chrome扩展,基于异步获取的数据创建新选项卡,javascript,google-chrome-extension,Javascript,Google Chrome Extension,我正在努力解决chrome.tabs.create()的行为问题 以下是我希望实现的目标:单击按钮后,应用程序可以获取一个URL,然后根据我们刚刚获取的messageUrl创建一个新选项卡 提前谢谢你 这是我的代码(不起作用) popup.html 打开一个随机url popup.js document.addEventListener('DOMContentLoaded',documentEvents,false); //获取URL并返回字符串(也是URL) 异步函数getMessag
messageUrl
创建一个新选项卡
提前谢谢你
这是我的代码(不起作用)
popup.html
打开一个随机url
popup.js
document.addEventListener('DOMContentLoaded',documentEvents,false); //获取URL并返回字符串(也是URL) 异步函数getMessageUrl(){ const res=等待取数('https://dog.ceo/api/breeds/image/random'); const json=await res.json(); 返回等待json['message']; } 异步函数openImageUrl(){ const messageUrl=wait getMessageUrl(); 创建({url:messageUrl}); } 函数documentEvents(){ document.getElementById('myButton')。addEventListener('click',函数(){ openImageUrl(); }); }
- 坏消息:似乎无法在弹出窗口中等待异步调用。
好消息:你可以在后台脚本中等待它们,这样你就可以将你的函数移动到那里,然后像这样从弹出窗口调用它
chrome.extension.getBackgroundPage().openImageUrl();
document.getElementById('myButton')myButton在哪里?嗨@NadiaChibrikova,很抱歉这是一个打字错误。我已经修好了!