2011-11-19 14 views
18

Attualmente sto costruendo un sito che dovrebbe essere in grado di funzionare come un tipo di browser ftp. Fondamentalmente quello che ho è un server ftp con alcune immagini su di esso.Javascript legge html dall'URL nella stringa

Quello che non riesco a capire è: se sfoglio questo sito FTP posso vedere la fonte del sito ftp (come si vede in alcuni browser), quello di cui ho bisogno è di salvare quella fonte in un modo stringa (usando javascript).

Il motivo è che creerò un qualche tipo di browser "immagine". Ho in programma di farlo leggendo il sorgente in una stringa, quindi copio tutte le fonti di immagini e uso innerHTML per creare un nuovo layout.

In breve: voglio leggere le informazioni da un URL e visualizzarle in un modo diverso.


Beh, non riesco a farlo funzionare. Il problema potrebbe essere che non posso usare scripting serveride. Sarebbe comunque possibile mettere un file sul server ftp che posso caricare in grado di caricare dinamicamente i dati nella stessa cartella? (quando dico FTP, in realtà intendo un server NAS con accesso FTP).

+0

Si sta utilizzando qualsiasi tipo di quadro? OSSIA jQuery? – vzwick

+0

"se sfoglio questo sito ftp, posso visualizzare l'origine del sito ftp". Quello che vedi è un codice HTML generato dal browser in base all'elenco della directory, non vedi ciò che il sito stesso invia. – Quentin

risposta

28

la vostra risposta è Ajax. Può POSTARE e OTTENERE dati da un URL, proprio come la navigazione in un sito Web, e restituirà l'HTML come stringa come risultato.

Se si prevede di utilizzare jQuery (molto utile), è facile da usare Ajax. Ti piace questa examle (non funziona senza la libreria):

$.ajax({ 
    url : "/mysite/file.html", 
    success : function(result){ 
     alert(result); 
    } 
}); 

Se si desidera utilizzare di default Javascript, un'occhiata a http://www.w3schools.com/ajax/default.asp

var xmlhttp; 
if (window.XMLHttpRequest) { // code for IE7+, Firefox, Chrome, Opera, Safari 
    xmlhttp = new XMLHttpRequest(); 
} 
else { // code for IE6, IE5 
    xmlhttp = new ActiveXObject("Microsoft.XMLHTTP"); 
} 
xmlhttp.onreadystatechange = function() { 
    if (xmlhttp.readyState == 4 && xmlhttp.status == 200) { 
     document.getElementById("myDiv").innerHTML = xmlhttp.responseText; 
    } 
} 
xmlhttp.open("GET", "ajax_info.txt", true); 
xmlhttp.send(); 
+0

Bene, la soluzione che ho trovato è scrivere una piccola applicazione in C#. Quando si esegue l'applicazione, entra nella cartella NAS, cerca le immagini e genera un file html (contenente le immagini), quindi la mia app può usare quella pagina html in un iframe. – Chizpa

1

Poiché le risposte precedenti hanno affermato è possibile utilizzando il protocollo HTTP e CORS , ma penso che tu voglia dare un'occhiata a this other thread.

0

in JavaScript per ottenere i dati senza l'utilizzo di alert():

$.ajax({ 
    url : "/mysite/file.html", 
    async:false,   //this is the trick 
    success : function(result){ 
       //does any action 
       } 
    }); 
+3

Ti dispiacerebbe spiegarti un po 'di più? – Micho

Problemi correlati