Maison >interface Web >js tutoriel >Pourquoi la méthode load() de jQuery ne fonctionne-t-elle que dans Firefox, mais pas dans Chrome ou Internet Explorer ?
Pourquoi la méthode jQuery load() ne fonctionne-t-elle que dans Firefox ?
En tentant de se plonger dans jQuery et AJAX, un utilisateur a rencontré un problème inexplicable. Bien qu'il suive un guide du site Web officiel de l'API jQuery, leur code ne parvient pas à produire le résultat attendu dans Chrome et Internet Explorer. Curieusement, le code s'exécute avec succès lorsqu'il est ouvert dans Firefox.
Le code implique l'utilisation de la méthode load() pour récupérer un fichier HTML externe (list1.html) et charger son contenu dans un élément DIV désigné ("stage" ). Le code HTML et JavaScript pertinent :
<code class="html"><script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.3/jquery.min.js"></script> <script> $( "#stage" ).load( "list1.html" ); </script></code>
Bien que le code s'affiche comme prévu dans Firefox, affichant une liste d'éléments à puces, rien ne s'affiche dans Chrome ou Internet Explorer. La cause de cet écart est une restriction d'accès imposée par les navigateurs modernes, notamment Chrome et IE.
Restriction de sécurité du navigateur
Pour améliorer la sécurité, les navigateurs modernes empêchent l'ouverture des pages Web. à partir de fichiers locaux (par exemple, via le protocole file://) d'accéder à du contenu provenant d'autres origines (par exemple, en accédant à des fichiers externes). Cette restriction s'applique à la méthode load(), qui tente de récupérer un fichier depuis un emplacement différent.
Solution
Pour contourner la restriction d'accès, lancez Chrome ou Chromium avec l'indicateur --allow-file-access-from-files. Cet indicateur accorde au navigateur l'autorisation d'accéder aux fichiers locaux à partir du contexte de la page Web. Pour activer cet indicateur :
chrome.exe --allow-file-access-from-files
Vous pouvez également définir cet indicateur de manière permanente en créant un raccourci sur le bureau avec le chemin cible suivant :
"C:\Program Files (x86)\Google\Chrome\Application\chrome.exe" --allow-file-access-from-files
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!