• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

bestimmten Teil einer Website in iFrame einbinden

max.pabel

Neues Mitglied
Hallo zusammen,

da mein ursprünglicher Beitrag für mich unerklärlicherweise verschwunden ist, poste ich meine Frage hier nochmal.

technische Voraussetzungen:
- eigener Webserver mit Apache, PHP, JS
- 2 Schaltaktoren "Rutenbeck TCR IP4" mit WebGUI
- DynDNS mit eigener Domain und Portweiterleitungen zu den Schaltaktoren

Details zu den WebGUIs' von den Schaltaktoren:
- je Schaltaktor 4 Relaisschaltkreise
- jeder Schaltaktor hat integrierten Webserver
- sowohl über LAN als auch WAN ansprechbar
- je Relaisschaltkreis ein Ein/Aus-Button und eine Ein/Aus-Statusanzeige (sprich 8x)
--> hier ein Screenshot von einem Schaltaktor WebGUI, die eingekreisten Teile sollten jeweils in ein iFrame
TCR.jpg

das, was ich realisieren möchte:
Aufgrund der vielen Funktionen, die der Schaltaktor bietet, ist auch dessen Webinterface dementsprechend
umfangreich und für meine Hauptanwendung überladen. Außerdem ist es äußerst unpraktisch, wenn ich immer
zwei unterschiedliche Seiten aufrufen muss, um die einzelnen Schaltaktoren aufzurufen. Daher möchte ich mir
eine Website bauen, die als eine Art Wrapper alle Schaltmöglichkeiten zusammenfasst. Dabei möchte ich jedoch
jede Button/Statusanzeige-Kombination frei in meiner Wrapper-Seite positionieren können.

Dazu kam mir die Idee, 8 iFrames zu nutzen, in denen ich jeweils nur den Button mit Statusanzeige einbette.
Die iFrames an sich einzufügen ist kein Problem, jedoch fehlt mir die entscheidende Idee, wie ich im iFrame
festlegen kann, wo die obere linke Ecke auf der eingebetteten Website liegen soll, also nicht bei 0/0px sondern
zum Beispiel erst bei 10/40px. Soweit ich weiß ist das nicht möglich, wobei ich jetzt eine Website gefunden habe,
auf der jemand meint, man könne dies mit Margin-Werten erreichen. Jedoch weiß ich nicht wie ich diese in den
iFrame Code einbinden soll. (Von hier stammt diese Information: Oder doch!? (HTML-CSS))

Ich hoffe Ihr könnt mir einen Tipp geben, wie ich dieses Problem lösen könnte.
Sollte es über iFrames nicht möglich sein, würde ich mich über andere Ideen sehr freuen.

Es besteht auch die Möglichkeit, die Schaltfunktion durch Aufruf einer URL durchzuführen, jedoch fehlt mir dann
die Statusanzeige und ich möchte auch nicht, dass sich bei jedem Schaltvorgang ein extra Fenster öffnet, wenn
ich zum Beispiel diese Schaltfunktion über die URL in Form http://192.168.xxx.xxx:202xx/leds.cgi?led=x als
link hinter einen Button legen würde. Und die Statusanzeige ist ebenfalls zwingend notwendig.

Hier noch die Quelltexte von dem Schaltaktor.
Anhang anzeigen HTML vom Schaltaktor.txt
Anhang anzeigen JavaScript vom Schaltaktor.txt

Ich hoffe ich konnte meinen Wunsch halbwegs verständlich ausdrücken.
 

Anhänge

  • Pixelio.jpg
    Pixelio.jpg
    47,8 KB · Aufrufe: 4
Werbung:
Hallo,

also das geht so nicht ohne das einfluss auf den code der Seite hast im iframe, dann könntest mit scrollto() arbeiten.
Die sache mit den Links könnte man per ajax machen was mit jquery auch recht überschaubar ist, so fällt das mit dem neuen fenster flach aber wenn kein status ausgelesen bekommst ist natürlich blöd.
Das mit dem margin dürfte nicht funktionieren.

Cheffchen
 
Hallo,

also ist das ja fast so, wie ich es mir auch gedacht habe.

In das Thema AJAX und jquery muss ich mich erst mal einlesen, da habe ich noch keinerlei Erfahrungen.
Vielleicht könntest du mir ja anhand des Quellcodes vom WebGUI einen Tipp geben, ob ich den Status vielleicht auch irgendwie eingebunden bekomme. Der Quellcode ist ja in meinem ersten Beitrag zu finden.

Über ein paar Tipps würde ich mich sehr freuen.

Max P.
 
Werbung:
Hallo,

Ok habe mir das mal angeschaut, das ist alles javascript, das an/aus sind radios die halt ausgeblendet sind und halt rot/grün angezeigt wird wie man im html code sieht
Code:
              <TD align="center"> [B]Hecke[/B]&nbsp; </TD>
            </TR>
            <TR>
              <TD><DIV class="fl-l">
                  <TABLE>
                    <TBODY>
                      <TR>
                        <TD><SPAN id="txt_ImpulsSenden1">&nbsp;Impuls senden </SPAN></TD>
                        <TD> (hh:mm:ss) </TD>
                      </TR>
                      <TR>
                        <TD>[B]<INPUT name="impein1" id="impein1" type="radio">
                          <SPAN id="txt_Ein1">Ein </SPAN>
                          <INPUT name="impein1" type="radio">
                          <SPAN id="txt_Aus1">Aus </SPAN>[/B]</TD>
                        <TD><INPUT id="impzeit1" type="text" size="10" maxlength="8" value="00:09:05">
                          <INPUT id="btnSenden1" onclick="[B][COLOR=#ff0000]sendeImpuls[/COLOR][/B](1)" type="button" value="Senden"></TD>
                      </TR>
                    </TBODY>
                  </TABLE>
                </DIV></TD>
und in der js wird halt einfach pro click der zustand einfach geändert von roz auf grün und zurück, würde sagen ohne weitere prüfung ob das stimmt oder nicht
Code:
function [B][COLOR=#ff0000]sendeImpuls[/COLOR][/B](index) {
    var ein;
    var impzeit;
    var ausg;
    var status;
    var btn;
        if (sprache == 0) {
        einS = "Einschalten";
        ausS = "Ausschalten";
        ein = "An &nbsp;";
        aus = "Aus";        
    }else {
        einS = "Switch on";
        ausS = "Switch off";
        ein = "On&nbsp;";
        aus = "Off";
    }

    switch (index) {
        case 1:
            impzeit = document.getElementById("impzeit1").value;
            ein = document.getElementById("[B]impein1[/B]").checked;
            ausg = "ausg1";
            status = document.getElementById("tcipstatus1");
            btn = document.getElementById("btnstatus1");
            break;
        case 2:
            impzeit = document.getElementById("impzeit2").value;
sehe jetzt zwar nicht wie die infos überhaupt in die Datei kommen aber scheint ja alles rein HTML und js zu sein, also dürfte das auch einzeln funktionieren, musst halt die stelle finden wo er die daten her bekommt zum anfang ob an oder aus.

Cheffchen
 
Ich bin da jetzt nicht ganz mitgekommen, aber kann man bei einem iframe angeben das er die eingebettete Seite ab einem bestimmten Punkt anzeigen soll? Es muss auch keine bestimmte stelle sein bez. Breite, die Breite der Seite soll gleich bleiben. Ich will einfach nur das er die eingebettete Seite ab einen tieferen Punkt anzeigt, in meinem Fall sind das Chartplätze, der erste iframe soll Platz 1-5 anzeigen, der nächste 5-10...

lg Claire
 
Ok habe mir das mal angeschaut, das ist alles javascript, das an/aus sind radios die halt ausgeblendet sind und halt rot/grün angezeigt wird wie man im html code sieht

Vielen Dank für die Analyse der HTML - vielleicht hilft das ja...

und in der js wird halt einfach pro click der zustand einfach geändert von roz auf grün und zurück, würde sagen ohne weitere prüfung ob das stimmt oder nicht

Okay, auch das ist gut zu wissen, wobei es meiner Meinung nach irgendwo eine Prüfung geben muss,
denn wenn ich zum Beispiel auf Einschalten klicke den Browser schließe und an einem anderen PC die Website öffne dort auch gleich "An" steht und auch der Button zeigt dann "Ausschalten".

sehe jetzt zwar nicht wie die infos überhaupt in die Datei kommen aber scheint ja alles rein HTML und js zu sein, also dürfte das auch einzeln funktionieren, musst halt die stelle finden wo er die daten her bekommt zum anfang ob an oder aus.

Und genau das dürfte das größte Problem sein, da ich nicht sehen kann, was für Dateien auf dem im Gerät integrierten Webserver gespeichert sind, da diese auf einem fest aufgelötetem IC-Chip sitzen.
Könnte es theoretisch sein, dass die Informationen aus einem CGI-Skript kommen?
Die Schaltfunktion wird ja über das CGI-Skript ausgeführt soweit ich das erkennen konnte.
Gäbe es denn rein theoretisch anhand der bisher erlangten Kenntnisse eine Möglichkeit auf meiner Wrapper-Page diese Statusanzeige und den Button zu integrieren? Denn meine Kenntnisse hören
dann in diesem Umfang recht schnell auf. Zum Thema AJAX und jquery habe ich zwar angefangen mich einzulesen, jedoch fehlte mir bisher noch die Zeit für intensivere Beschäftigung damit.
 
Werbung:
Hallo,

also nach noch geschaut und würde sagen das läuft über js (nichts neues) und XML, schau mal das "status.xml" FINDEST dürfte im gleichen ordner liegen wie die js von oben. Da dürfet auch alles drin stehen.

Das auf anderen rechner das ändert ist klar, die änderungen dürften ja in der xml stehen.

Cheffchen
 
Hallo,
also die "Status.xml" habe ich gefunden.
Hier der Code:
Code:
<response>
<led1>0</led1>
<led2>0</led2>
<led3>0</led3>
<led4>0</led4>
<pot0>19</pot0>
</response>
Würdest du mir für einen Button beispielhaft eine JS und HTML Stückchen schreiben, mit dem ich meine Funktion erzielen könnte? Ich wäre dir echt sehr dankbar, da ich an diesem Punkt mit meinen Grundkenntnissen doch leider überfordert bin.
 
Werbung:
Deine Frage ist ja am Anfang schon weitgehend beantwortet, die Festlegung der Startposition per Margin-Werten ist nicht möglich.
 
Hallo,

@Mellipupsi deine frage wurde 3 Beiträge vor deiner frage beantwortet, nein geht nicht.

@max.pabel damit ist das ja auch nicht getann muss ja ach die ausgabe gemacht werden, versteh mich nicht falsch, helfen tu ich ja gern aber das geht dann doch etwas weit gerade weil js für mich auch noch sehr neu ist und ich mir das auch noch etwas schwer tu.
Tipp gebe ich noch such mal nach "function newAJAXCommand" die brauchst, die macht nämlich die eigentlich änderung.

newAJAXCommand("impl.cgi?" + ausg + impzeit + "normal");

Cheffchen
 
Zuletzt bearbeitet:
Alles klar, kann ich ja verstehen wenn du da auch noch recht neu bist. Ich werde mich sobald es mir möglich ist mich genauer einlesen und dann nur noch gezielte Fragen stellen wenn noch welche auftreten. Auf jeden Fall vielen, vielen Dank für deine Bemühungen bis hierhin.
 
Werbung:
Gibt es den keine andere Möglichkeit eine Seite einzubetten ab einer bestimmten Postion? Kann mir nicht vorstellen das das Netz so eine Möglichkeit nicht hat?
 
Werbung:
was ist an einen nein nicht zu verstehen?
Cheffchen

Ich glaube sie bezieht sich eher auf unsere Diskussion über die Funktionsweise des Schaltaktors.
--> @Mellipupsi Ich denke nicht, dass das was wir hier besprochen haben für dich nicht zutreffend ist,
da wir uns um ein sehr spezielles Anwendungsgebiet gekümmert haben, nämlich die Funktion eines
Schaltaktors wo zuerst zu klären war, wie die geräteinterne Website überhaupt funktioniert.

Demnach ist das NEIN von Cheffchen für dich die 100% richtige Antwort.
 
Zurück
Oben