Maison  >  Article  >  interface Web  >  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 load() de jQuery ne fonctionne-t-elle que dans Firefox, mais pas dans Chrome ou Internet Explorer ?

DDD
DDDoriginal
2024-10-28 22:01:02269parcourir

Why is jQuery's load() method only working in Firefox, but not in Chrome or 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 :

  1. Ouvrez une invite de commande ou un terminal.
  2. Naviguez jusqu'au répertoire d'installation de Chrome ou Chromium.
  3. Exécutez la commande suivante :
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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn