2011-11-19 9 views
18

私は現在、ftpのブラウザとして機能するはずのサイトを構築しています。基本的に私が持っているのは、そこにいくつかの画像があるftpサーバです。JavascriptはURLから文字列にHTMLを読み込みます

私が理解できないことは、私がこのftpサイトを参照すると、(いくつかのブラウザに見られるように)ftpサイトのソースを見ることができます。私が必要とするのは、そのソースを文字列(javascriptを使用)。

なぜなら、私はある種の「イメージ」ブラウザを作ります。ソースを文字列に読み込んですべてのイメージソースをコピーし、innerHTMLを使用して新しいレイアウトを作成することで、これを達成する予定です。

簡潔に:URLから情報を読み込み、別の方法で表示したい。


これはうまく動作しないようです。問題は、サーバサイドスクリプティングを使用できないことです。しかし、同じフォルダにデータを動的にロードできるファイルをftpサーバに置くことは可能でしょうか? (私がFTPと言うとき、私は実際にはFTPアクセスを持つNASサーバーを意味します)。

+0

あなたは、フレームワークの任意の並べ替えを使用していますか? I. jQuery? – vzwick

+0

"私はこのftpサイトを閲覧するとftpサイトのソースを見ることができます" - ディレクトリリストに基づいてブラウザによって生成されたHTMLがいくつか見られるが、サイト自体が何を送るのかはわからない。 – Quentin

答えて

28

あなたの答えは、Ajaxのあるデータにアクセスするためのクロスドメインの制限があなたを禁止すること、しかし心に留めておいてください。 Webサイトを閲覧するのと同じように、URLからPOSTデータとGETデータを取得し、結果としてHTMLを文字列として返します。

jQuery(実際に便利)を使用する予定の場合は、Ajaxを使いやすいです。

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

デフォルトJavascriptを使用したい場合は、前回の回答が述べたように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

私が思いついた解決策は、C#で小さなアプリケーションを書くことです。アプリケーションを実行すると、NASフォルダに入り、画像を探し、HTMLファイル(画像を含む)を生成します。そして、私のアプリはそのHTMLページをiframeで使用することができます。 – Chizpa

1

を見てみましょうすると、HTTPを使用して可能であるとCORS:このexamle(ライブラリなしでは動作しません)のようにしかし、私はあなたがthis other threadを見てみたいと思います。 (アラートを使用せずにデータを取得するためにJavaScriptで

0

):

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

もう少し説明していただけますか? – Micho

関連する問題