it-swarm.com.de

Laden Sie die lokale HTML-Datei in den iframe

Ich habe auf meinem Server eine .html-Seite unter c:\test\test.html.

Ich möchte test.html in iframe auf dem Client-Computer anzeigen. Wie kann ich das tun?

Was ich probiert habe:

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

Es wurde jedoch die test.html-Datei auf dem Client-Computer gefunden. Wie kann ich also sicherstellen, dass der test.html vom Server geladen wird?

Wenn dies nicht möglich ist, wie kann ich das auf andere Weise tun?

4
CSharpBeginner

Da Sie die Seite auf dem Server haben, müssen Sie einige dieser Beispiele verwenden: 

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

Sie müssen dies verwenden, wenn sich test.html im selben Verzeichnis wie Ihre Hauptseite befindet.

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

Sie müssen dies verwenden, wenn sich test.html im vorherigen Verzeichnis Ihrer Hauptseite befindet. path/views/test/test.html und path/views/main/page.html.

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

Sie müssen dies verwenden, wenn Sie die URL kennen, um Ihren test.html zu öffnen.

6
DomeTune

Sie müssen serverseitige Sprachen wie PHP, ASP.NET, node.js usw. verwenden und einen "Proxy" erstellen, der die gewünschte Datei als Parameter erhält, die Datei auf dem Server liest und den Inhalt sendet.

In ASP.NET können Sie beispielsweise folgenden Code verwenden:

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>

Dann haben Sie einen solchen iframe:

<iframe id="serviceFrameSend" src="Download.aspx?id=1" width="1000" height="1000" frameborder="0"></iframe>
1
Shadow Wizard

Sie müssen das öffentliche Verzeichnis "test.html" auf dem Server speichern. Oder machen Sie das "Test" -Verzeichnis öffentlich zugänglich.

1
Tej Patil

Sie können von Ihrem PC nicht wie c laden: ... Sie können nur Dateien von Ihrem Server laden. Wenn sich diese HTML-Datei und die Datei test.html in demselben Verzeichnis auf Ihrem Server befinden, laden Sie sie einfach mit test.html, wenn sie sich in einem anderen Verzeichnis befindet, und verwenden Sie den Verzeichnisnamen test/test.html

0
Tihi