Question

function publish(text) {
 $('#helpdiv').prepend(text);
}

function get_help(topic) {
  $.get(topic, publish);
}

<p>Hi. <a href="#" onclick="get_help('inline-help.html'); return false;">click here for more help.</a></p>
<div id="helpdiv"></div>

J'ai hérité ce morceau de code HTML et javascript dessus (extrait). Il est / allait être utilisé comme aide locale. Actuellement, il est en ligne seulement et il fonctionne très bien. Toutefois, lorsque je copie les fichiers sur place, je reçois « Autorisation refusée » dans Internet Explorer et Chrome ne fait rien quand je « cliquez ici pour plus d'aide ». Qu'est-ce qu'il est censé faire est de charger le contenu d'aide en ligne de-help.html et l'afficher dans le helpdiv div. Maintenant est le kicker, si je prends les mêmes fichiers et les copier INETPUB sur mon PC et de les charger en tant que http: // localhost / hello.html il fonctionne parfaitement.

On peut supposer que c'est une chose de sécurité où la zone « locale » ne me permet de charger des fichiers hors du HD de l'utilisateur? Mais je ne suis pas vraiment sûr de ce qui se passe et je voudrais comprendre ce problème plus loin et potentiellement venir avec une solution de contournement.

Toute idée est très apprécié.

Était-ce utile?

La solution

de jquery « get » utilisations xmlHttpRequest, ce qui ne fonctionne pas sur les fichiers locaux, malheureusement. Si vous avez vraiment besoin d'être en mesure de récupérer les données locales (ou les données d'un autre domaine) de manière asynchrone, vous devez utiliser des balises de script dynamique. Cependant cela signifie que le fichier de données doit être reformatés sous forme de données JSON.

Autres conseils

Je ne pense pas que votre navigateur vous permettant d'exécuter localement javascript (en utilisant la méthode d'accès file:///). Mais lorsque vous le chargez de http://localhost/ il fonctionne très bien.

Vous devez développer soit sur un site Web ou utilisez votre serveur localhost.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top