我有一个异步问题(我相信)。sendResponse()在contentscript.js中不等待getThumbnails()返回。
我在popup.js 中发送消息:
chrome.tabs.sendMessage(tabs[0].id, {message: "get_thumbnails", tabUrl: tabs[0].url},
function (respThumbnails) {
const thumbUrl = respThumbnails.payload;
console.log("payload", thumbUrl)
}
);
Run Code Online (Sandbox Code Playgroud)
然后,在contentscript.js我听这条消息:
chrome.runtime.onMessage.addListener(async function(request,sender,sendResponse) {
if(request.message === "get_thumbnails") {
const payload = await getThumbnails();
console.log("thumbPayload after function:", payload)
sendResponse({payload:payload});
}
});
async function getThumbnails() {
let tUrl = null;
var potentialLocations = [
{sel: "meta[property='og:image:secure_url']", attr: "content" },
{sel: "meta[property='og:image']", attr: "content" },
];
for(s of potentialLocations) { …Run Code Online (Sandbox Code Playgroud) 我无法让我的 api 与我的快速服务器一起工作,我总是收到一个错误:
错误:未指定默认引擎且未提供扩展。
我很确定它来自快速路由器,但我找不到错误来自哪里......
我是否正确使用了快速路由器?因为我以前从未使用过它。
服务器.js:
const createError = require('http-errors');
const express = require("express");
const bodyParser = require("body-parser");
const cookieParser = require('cookie-parser');
const logger = require('morgan');
const api = require('./routes/api');
const app = express();
const MongoClient = require('mongodb').MongoClient;
const MONGODB_URI = process.env.MONGODB_URI;
const PORT = process.env.PORT || 5000;
app.use('/', api);
app.use(logger('dev'));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: true }));
app.use(cookieParser());
// catch 404 and forward to error handler
app.use(function(req, res, next) {
next(createError(404));
});
// error handler
app.use(function(err, req, res, next) { …Run Code Online (Sandbox Code Playgroud) 我已在我的应用程序中实施了 Firebase Auth,以让我的用户连接到他们的 Google 帐户。到目前为止一切顺利,但是一旦用户从 Google 帐户选择器弹出窗口中选择连接特定帐户,他在下次登录时将无法选择其他帐户。将自动选择之前选择的帐户用于身份验证。
我确实觉得这种行为不正确,所以我正在尝试修复它。经过一番研究,我发现我可以使用setCustomParameters(prompt: "select_account"),googleProvider如下所示:
this.googleProvider = new firebase.auth.GoogleAuthProvider();
this.googleProvider.setCustomParameters({
prompt: "select_account",
});
Run Code Online (Sandbox Code Playgroud)
更多信息请参见:https://developers.google.com/identity/protocols/oauth2/openid-connect#authenticationuriparameters
就我而言,使用consent和select_account参数似乎没有任何影响,用户无法选择要使用哪个帐户。
编辑:它似乎可以在 chrome 上正常工作,但在 firefox 上却不能...
我已经开始学习c,我尝试将它与VSCode一起使用,但#include < stdio.h>该错误消息以绿色突出显示:
#include errors detected. Please update your includePath. IntelliSense features for this translation unit
(C:\Users\Jerlam\Desktop\C\training\dweight.c) will be provided by the
Tag Parser.
could not open source file "stdio.h" (no directories in search list)
Run Code Online (Sandbox Code Playgroud)
我看过一些关于这个问题的话题,但没有一个能帮助我解决这个问题。
这是我的c_cpp_properties.json文件,我必须在其中添加路径(of stdio)。事实上,关于它的文档绝对不是初学者友好的。
{
"configurations": [
{
"name": "Win32",
"includePath": [
"${workspaceFolder}/**",
"C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt"
],
"defines": [
"_DEBUG",
"UNICODE",
"_UNICODE"
],
"intelliSenseMode": "clang-x64"
}
],
"version": 4
}
Run Code Online (Sandbox Code Playgroud)
我手动添加了这个路径:
“C:/Program Files (x86)/Windows Kits/10/Include/10.0.10240.0/ucrt”
因为它包含 …