Actualmente estoy tratando de redirigir al usuario a un esquema de URL personalizado con Express.js para abrir una aplicación instalada en mi iPad (usando "example://").
Aquí está mi código que debería redirigir a la URL cuando se presiona un botón en una página que se ejecuta en un servidor diferente:
const { response } = require('express'); const express = require('express'); const router = express.Router(); const path = require('path'); const smartMirror = express(); router.get('/', function(req, res){ res.sendFile(path.join(__dirname + '/test.html')); }); smartMirror.use('/', router); smartMirror.listen(process.env.port || 8000); console.log('Running on Port 8000'); smartMirror.get("/launch", (req, res) => { res.redirect(302, "touchpoint://"); res.status(200); })En la consola, el error dice "UnhandledPromiseRejectionWarning: TypeError: el nodo-fetch no puede cargar [solicitud de objeto]. El esquema de URL "punto de contacto" no es compatible".
¿Cuál es el problema aquí?
Has identificado mal el problema. No tiene nada que ver con Express diciéndole al cliente que ha sido redirigido, es porque está intentando acceder a la URL con fetch .
Sea cual sea el punto de contacto de la aplicación touchpoint:// se ha registrado para ser manejado, debe navegar a la URL.
fetch("touchpoint://") no funcionará (y esto es lo que está haciendo, solo a través de una redirección).
Esta es la misma razón por la que <img src="touchpoint://"> no funcionaría si lo intentaras.
Tienes que navegar hasta él. p.ej
<a href="touchpoint://"> de contacto://"> o location = "touchpoint://" .