J'ai un problème avec Cordova et (peut-être ?) cordova-plugin-whitelist depuis hier et je n'arrive pas à trouver de solution, alors je suis ici, à la recherche de votre aide. Je vais faire de mon mieux pour tout expliquer.
Contexte
Je travaille dans une entreprise informatique et nous avons quelques applications développées à l'aide de la plateforme Cordova. Hier, j'ai installé une application sur mon appareil et j'ai obtenu les erreurs suivantes :
Access to XMLHttpRequest at 'http://valid-url/' from origin 'file://' has been blocked by CORS policy: Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Uncaught (in promise) Error: Request has been terminated
Possible causes: the network is offline, Origin is not allowed by Access-Control-Allow-Origin, the page is being unloaded, etc.
at Request.push../node\_modules/superagent/lib/client.js.Request.crossDomainError (client.js:621)
at XMLHttpRequest.xhr.onreadystatechange (client.js:705)
Ces erreurs ne me permettent pas de faire une demande au serveur. Mais il y a une chose curieuse : Cela se produit uniquement lorsque je lance l'application pour la première fois. ou quand je supprimer la base de données ; si je ferme l'application et la relance, elle fonctionne parfaitement. Autre chose de curieux : cela se produit avec toutes nos applications, et certaines d'entre elles n'ont pas reçu de nouveau patch ou de changement depuis des mois, alors... comment cela peut-il arriver ? J'ai pensé à un changement sur Chromium, mais la version sur mon appareil est plus ancienne que la version actuelle.
Je sais que j'ai besoin de cordova-plugin-whitelist pour faire des requêtes, je l'ai déjà installé sur le serveur de l'entreprise. 1.3.4 et avec cette configuration sur config.xml (sur une des applications) :
<access origin="*" />
<allow-navigation href="*" />
<allow-intent href="http://*/*" />
<allow-intent href="https://*/*" />
<allow-intent href="tel:*" />
<allow-intent href="sms:*" />
<allow-intent href="mailto:*" />
<allow-intent href="geo:*" />
Ma version actuelle de cordova-Android est 7.0.0 - J'ai déjà essayé de rétrograder cordova-Android et la liste blanche des plugins à 6.4.0 et 1.3.3 respectivement, mais cela n'a pas fonctionné.
Je soupçonne que le problème se situe dans Android lui-même ou dans cordova-plugin-whitelist, mais rappelez-vous : il est parti de rien, sans aucun changement dans les dépôts de code ou de nouvelles constructions - cela me rend fou.
Quelqu'un peut-il me donner du feu ?
Merci !