CSSGalery.info nos muestra una solución para leer fichero cuando ejecutamos HTML desde nuestro local. Detectando si la página está siendo ejecutado en un entorno local mediante el protocolo file: de la URL decide como actuar ante una llamada a la función get_content()
.
function get_content(url,update) {
if ( document.location.protocol == "file:" ) {
// console.log("local");
var ifr = new IFrame({
src:url,
events:{
load: function() {
$(update).set("html", this.contentWindow.document.body.innerHTML );
}
}
}).inject(document.body);
}else {
// console.log("server");
var myHTMLRequest = new Request.HTML({
update:update,
}).get(url);
}
}
La función get_content()
, a la que le pasamos la ruta y donde queremos descargar el cotenido se encarga de hacer todo el trabajo por nosotros. Para los que no usamos MooTools he montado una versión en JS sin necesidad de trabajar con ningún framework.
function get_content(url,update) {
if ( document.location.protocol == "file:" ) {
var ifr = document.createElement("iframe");
ifr.src = url;
ifr.onload = function() {
document.getElementById(update).innerHTML = this.contentWindow.document.body.innerHTML;
}
document.getElementsByTagName("body")[0].appendChild(ifr);
}else {
var ajax = (XMLHttpRequest)?new XMLHttpRequest():new ActiveXObject('Microsoft.XMLHTTP');
ajax.open('GET', URL);
ajax.onreadystatechange = function(){
document.getElementById(update).innerHTML = ajax.responseText;
};
ajax.send(null);
}
}
Desde CSSGallery.info podemos testear la versión online y/o descargar un zip para probarlo en nuestro local.
7 comentarios, 0 referencias
+
#