小编Jer*_*lam的帖子

chrome 扩展 - sendResponse 不等待异步功能

我有一个异步问题(我相信)。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)

javascript google-chrome-extension

9
推荐指数
1
解决办法
3583
查看次数

Express - 错误:未指定默认引擎且未提供扩展

我无法让我的 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)

node.js express

7
推荐指数
2
解决办法
3万
查看次数

Firebase google auth 不允许我选择要连接的帐户

我已在我的应用程序中实施了 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

就我而言,使用consentselect_account参数似乎没有任何影响,用户无法选择要使用哪个帐户。

编辑:它似乎可以在 chrome 上正常工作,但在 firefox 上却不能...

google-authentication firebase firebase-authentication

6
推荐指数
1
解决办法
2019
查看次数

Visual Studio Code 为我提供了 C 的“#include 错误检测”

我已经开始学习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”

因为它包含 …

c path visual-studio

4
推荐指数
1
解决办法
2万
查看次数