Domanda

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>

Ho ereditato questo pezzo di codice HTML e JavaScript sopra (snippet). Si / stava per essere utilizzato come aiuto locale. Attualmente è solo on-line e funziona benissimo. Tuttavia, quando ho copiare i file in locale, ottengo "Autorizzazione negata" in Internet Explorer e in Chrome non fa nulla quando "Clicca qui per ulteriori informazioni". Che si suppone di fare è caricare il contenuto della guida da inline-help.html e visualizzarlo nel div helpdiv. Ora qui è il kicker, se prendo gli stessi file e copiarli Inetpub sul mio PC e caricarli come http: // localhost / hello.html funziona perfettamente.

Probabilmente questa è una cosa in cui la zona di sicurezza "locale" non mi permette di caricare i file fuori della HD dell'utente? Ma io non sono davvero sicuro di quello che sta succedendo e vorrebbe capire questo problema ulteriormente e potenzialmente trovare una soluzione alternativa.

Tutta la comprensione è molto apprezzato.

È stato utile?

Soluzione

"get" usi di jQuery xmlHttpRequest, che non funziona su file locali, purtroppo. Se si ha realmente bisogno di essere in grado di recuperare i dati locali (o dati da un dominio diverso) in modo asincrono, è necessario utilizzare i tag di script dinamici. Tuttavia, che significa che il file di dati deve essere riformattato come dati JSON.

Altri suggerimenti

Non credo che il browser sta permettendo di eseguire javascript in locale (utilizzando il metodo di accesso file:///). Ma quando lo si carica da http://localhost/ funziona benissimo.

È necessario sviluppare o su un sito web, o di utilizzare il server localhost.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top