2017-02-22 90 views
0

私のサーバの.htmlページはc:\ test \ test.htmlにあります。iframeにローカルHTMLをロード

クライアントマシンのiframeにtest.htmlを表示したいのですが、どうすればいいですか?

私は何をしようとしたんだ:

<iframe id="serviceFrameSend" src="file:///c:\test\test.html" width="1000" height="1000" frameborder="0"> 

しかし、それは、クライアントマシン上のtest.htmlというファイルを見つけていますので、どのように私はtest.htmlというサーバからロードされることを確認することができますか?

できない場合は、どうやったら他の方法で対応できますか?

+0

をファイルをコンピュータからサーバーに転送します。テストファイルをサーバーにアップロードし、このファイルをiframeに読み込む必要があります。 – Jer

答えて

1

As test.htmlというあなたのメインページと同じディレクトリにある場合

<iframe id="serviceFrameSend" src="test.html" width="1000" height="1000" frameborder="0"> 
<iframe id="serviceFrameSend" src="./test.html" width="1000" height="1000" frameborder="0"> 

あなたは、これを使用する必要があります:あなたはこれらの例のいくつかを使用する必要があるサーバー上のページを持っています。

<iframe id="serviceFrameSend" src="../test.html" width="1000" height="1000" frameborder="0"> 

test.htmlがメインページの前のディレクトリにある場合は、これを使用する必要があります。 path/views/test/test.htmlおよびpath/views/main/page.html

<iframe id="serviceFrameSend" src="www.server.com/test/test.html" width="1000" height="1000" frameborder="0"> 

あなたは、あなたのtest.htmlを開くためのURLをknwo場合は、これを使用する必要があります。

1

"test.html"をパブリックディレクトリをサーバーに保存する必要があります。あるいは、「テスト」ディレクトリに一般にアクセス可能にします。

0

あなたのPCからロードすることはできませんc:...あなたのサーバーからのみファイルを読み込むことができます。このhtmlファイルとtest.htmlファイルがサーバ上の同じディレクトリにある場合、別のディレクトリにある場合はtest.htmlで簡単にロードし、test/test.htmlのようなディレクトリ名を使用してください。

+1

この回答は技術的に正しいです。 *このhtml、file、test.htmlファイルがサーバー上の同じディレクトリにある場合は、test.html *で簡単に読み込むことはできません。あなたの答えを編集して、あなたが伝えようとしていることをよりよく説明するようにしてください。 – CKing

1

PHP、ASP.NET、node.jsなどのサーバー側言語を使用し、パラメータとして目的のファイルを取得し、サーバー上のファイルを読み取り、その内容を送信する "プロキシ"を作成する必要があります。

例えば、ASP.NETには、あなたがそのようなコードを持つことができますが:

Download.aspx

<script language="C#" runat="server"> 
void Page_Load(object sender, EventArgs e) 
{ 
    int id; 
    if (!Int32.TryParse(Request.QueryString["id"], out id)) 
    { 
     Label1.Text = "Missing or invalid ID"; 
     return; 
    } 

    string filePath = ""; 
    switch (id) { 
     case 1: 
      filePath = "c:\\test\\test.html"; 
      break; 
    } 

    if (filePath.Length == 0) 
    { 
     Label1.Text = "ID " + id + " does not exist"; 
     return; 
    } 

    if (!System.IO.File.Exists(filePath)) 
    { 
     Label1.Text = "Requested file '" + filePath + "' does not exist"; 
     return; 
    } 

    System.IO.FileInfo fileInfo = new System.IO.FileInfo(filePath); 
    Response.Clear(); 
    Response.WriteFile(fileInfo.FullName); 
    Response.Flush(); 
    Response.End(); 
} 
</script> 
<!DOCTYPE html> 
<html> 
<body> 
<form id="form1" runat="server"> 
    <asp:Label ID="Label1" runat="server"></asp:Label> 
</form> 
</body> 
</html> 

次に、このようなIFRAME持っている:あなたはローカルロードすることはできません

<iframe id="serviceFrameSend" src="Download.aspx?id=1" width="1000" height="1000" frameborder="0"></iframe> 
関連する問題