Lors de la tentative de chargement d'un modèle 3D dans Three.js à l'aide de JSONLoader, les utilisateurs peuvent rencontrez l'erreur « Les requêtes d'origine croisée ne sont prises en charge que pour HTTP. » Ce problème survient lorsque des fichiers locaux sont accessibles à l'aide de protocoles non HTTP.
Le message d'erreur indique avec précision que les requêtes d'origine croisée ne sont prises en charge que pour HTTP. Cependant, la cause vient du fait que les fichiers locaux sont généralement chargés à l'aide des protocoles "file://" ou "C:/". Conformément à la RFC-6454, l'origine est définie par le schéma, l'hôte et le port. Dans ce cas, même si le fichier et le site Web résident sur le même hôte (par exemple localhost), la différence de schéma (fichier / http) les marque comme étant d'origines différentes.
Pour résoudre le problème, il existe deux approches possibles :
1. Installez un serveur Web local :
Installez un serveur Web local, tel qu'Apache ou Nginx, sur votre ordinateur. Ensuite, configurez le serveur Web pour héberger le modèle 3D et accédez-y à l'aide du protocole "http://". Cela garantit que le fichier est chargé en utilisant la même origine que le site Web.
2. Téléchargez le modèle sur un hôte externe :
Vous pouvez également télécharger le modèle 3D sur un service d'hébergement tiers, tel que Google Cloud Storage ou Amazon S3. Cela vous permet d'accéder au fichier à l'aide d'une URL au format HTTP (par exemple, "http://example.com/path/to/model").
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!