Pregunta

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>

He heredado este trozo de HTML y Javascript anterior (fragmento). Se / iba a ser utilizado como ayuda local. Actualmente es sólo en línea y funciona bien. Sin embargo, al copiar los archivos a nivel local, lo entiendo "Permiso denegado" en Internet Explorer y en Chrome no hace nada cuando "Haga clic aquí para obtener más ayuda". Lo que tiene que hacer es cargar el contenido de la ayuda de inline-help.html y mostrarlo en el div helpdiv. Ahora aquí está el truco, si tomo los mismos archivos y copiarlos en inetpub en mi PC y cargarlos como http: // localhost / hello.html funciona perfectamente.

Es de suponer que esto es una cosa de seguridad en la zona "local" no es lo que me permite cargar archivos fuera de HD del usuario? Pero no estoy muy seguro de lo que está pasando y le gustaría entender este problema adicional y potencialmente llegar a una solución.

Cualquier penetración está muy apreciada.

¿Fue útil?

Solución

"get" usos de jQuery XMLHTTPRequest, lo que no funciona en archivos locales, por desgracia. Si realmente necesita para ser capaz de obtener los datos locales (o datos de un dominio diferente) de forma asincrónica, debe utilizar etiquetas de script dinámicas. Sin embargo, eso significa que el archivo de datos tiene que volver a formatear los datos como JSON.

Otros consejos

No creo que su navegador es lo que le permite ejecutar javascript forma local (mediante el método de acceso file:///). Pero cuando se carga desde http://localhost/ que trabaja muy bien.

Es necesario desarrollar ya sea en un sitio web, o utilizar su servidor host local.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top