2016-07-29 15 views
0

Ich möchte eine Website für ein lokales Fußballteam erstellen, aber ich weiß nicht, wie ich die Tabelle auf der Website anzeigen kann, die unter http://wnl.org.uk/tables.htm verfügbar ist.Einbetten mit iFrame

Ich kann einen iframe erstellen, aber es zieht die gesamte Seite ein und ich brauche nur eine der Tabellen. Ich möchte es auch reaktionsfähig machen und meine eigenen Stile anwenden, um mit meinem Thema übereinzustimmen.

Es ist nur eine Amateur-Liga, also ist es nicht über opta oder etwas ähnliches verfügbar, so bin ich mir nicht sicher, was der beste Ansatz ist.

Kann mir jemand helfen - Diese Frage ist mehr wie ich etwas tun kann, anstatt das ist, was ich habe. Ich bin mir nicht sicher, wie ich es erreichen kann.

+0

Kennen Sie eine Programmiersprache wie PHP? Sie können einen Teil einer Website nicht nur mit HTML importieren ... Mit PHP können Sie beispielsweise den HTML-Code dieser Seite importieren und bearbeiten. – Milkmannetje

+0

Tut mir leid, aber wenn ich lernen muss, weil das der einzige Weg ist, dann sei es so. Das werde ich tun. Ich brauche nur Ideen, wie dies erreicht werden kann. Die Website wird mit Umbraco erstellt, also wird alles .net, rasiermesserbasiert, HTML & CSS-basiert sein. – Paul

+0

Sie möchten also die Daten von einer anderen Website abkratzen und auf Ihrer eigenen Website etwas anders darstellen. – ksav

Antwort

0

Wenn die Seite, die Sie die Daten abrufen möchten in Ihrem Server können Sie die jQuery .load() Funktion wie folgt verwendet werden: (diese Methode ohne iframe ist)

<div id="target-div"> 
</div> 

Und als diesen Code verwenden:

$('#target-div').load('./tables.htm #main'); 

Wenn dieses Verfahren ausführt, ruft sie den Inhalt von ajax/test.html, aber dann parst jQuery das zurückgebrachte Dokument, das Element mit einer ID des Behältnisses zu finden. Dieses Element wird zusammen mit seinem Inhalt in das Element mit der ID Ziel-ID eingefügt, und der Rest des abgerufenen Dokuments wird verworfen.

.load() jQuery Dokumentation

Aber dies kann nur geschehen, wenn diese Seite in Ihrem Server vorhanden ist, weil er den Inhalt mit AJAX bekommt.

Hoffe, das hilft.

Another Way

Wenn Sie wollen, dass diese mit iframe zu tun, können Sie einige CSS-Tricks verwenden Sie nur den Teil der Seite, die Sie anzeigen möchten.

<div style="border: 2px solid #D5CC5A; overflow: hidden; margin: 15px auto; max-width: 575px;"> 
    <iframe scrolling="no" src="http://wnl.org.uk/tables.htm" style="border: 0px none; margin-left: -36px; height: 812px; margin-top: -486px; width: 650px;"> 
    </iframe> 
</div> 

Quelle: http://www.dimpost.com/2012/12/iframe-how-to-display-specific-part-of.html

Die Kehrseite der Medaille ist, dass Sie unterschiedliche Werte für die Ränder des iframe und die Breite des div manuell testen müssen, bis Sie das gewünschte Ergebnis erhalten.

Kürzester Weg mit PHP

1) Erstellen Sie eine Datei "tables.htm" und es leer lassen.

2) Erstellen Sie eine Datei "test.php" (Stellen Sie sicher, dass diese sich im selben Ordner befinden).

3) Fügen gibt diese Zeilen Code:

<?php 
    $contents = file_get_contents("http://wnl.org.uk/tables.htm"); 
    $file = fopen("tables.htm", "w") or die ("Unable to open file"); 
    fwrite($file, $contents); 
    fclose($file); 
    echo "Successful"; 
?> 

4) Führen Sie diese Datei in Ihrem Browser. Dadurch wird der Inhalt der Datei auf dieser Website in die Datei "tables.htm" in Ihrem Server geschrieben.

5) Nun, da die Datei geschrieben ist, greifen Sie auf ihre Daten unter Verwendung der oben erwähnten .load()-Funktion zu.

<div id="target-div"> 
</div> 
<script> 
    $('#target-div').load('tables.htm #main'); 
</script> 

6) Wenn Sie die Option „Cron Jobs“ in Ihrem Host haben, dass verwenden Sie das Skript „test.php“ in einer bestimmten Zeit laufen zu lassen, ohne dass Sie es in Ihrem Browser manuell ausführen.

Dies ist der beste Weg, den Sie tun können, und das Beste ist, dass Sie auch den Stil der Elemente ändern können.

+0

Hallo, danke für die Antwort. Leider ist diese Seite extern gehostet und ich habe keine Kontrolle darüber. Von dem, was ich sehen kann, ist es nicht möglich, die Stile zu manipulieren, wenn es nicht von mir gehostet wird, oder? Deshalb habe ich Schwierigkeiten zu sehen, wie ich es erreichen kann. – Paul

+0

Hallo @Paul, ich habe meine Antwort aktualisiert. Wenn das nicht funktioniert, dann ist der einzige Weg, den ich schätze, PHP zu benutzen. Sie müssen nicht viel Erfahrung damit haben, weil es sehr einfach ist. Wahrscheinlich ist der kürzeste Weg, den Sie in PHP machen können, das Erstellen eines Skripts, das den Inhalt dieser Datei in eine Datei auf Ihrem Server kopiert und Sie können auf diese Datei mit der '.load()' Funktion zugreifen, die ich in meiner Antwort erwähnt habe. Lassen Sie das Skript jeden Tag wiederholt ausführen, damit Sie aktualisierte Ergebnisse mit der Option 'Cron Jobs' in Ihrem Host erhalten. Ich benutze 000webhost persönlich. – IchHabsDrauf