Webservices über IFrame oder Javascript nutzen

Einklappen
X
 
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge
  • mariokrupik
    Smart Home'r
    • 23.12.2015
    • 46

    #1

    Webservices über IFrame oder Javascript nutzen

    Habe für ein Appartmenthaus eine Videosprechanlage mit 6x Grandstream Android Telefonen installiert.
    Auf den Telefonen läuft ein Kiosk System welches nur eine Browser Seite darstellt, von wo aus noch die Programme Telefon & Messages freigegeben sind, und noch ein Button als Türöffner fungiert.



    Derzeitig öffnet dieser ein neuen Browser Fenster mit http://userawsword@192.168.10.140/dev/sps/io/tueroeffner/Impuls,
    hab aber das Problem dass ich dann in dem Loxone status Fenster sitzen bleibe.

    Nun hätt ich eine weitere Seite gebaut mit "Tür wird geöffnet", welche die Loxone Webservice Seite in einem Iframe startet (display:hidden), und per meta anordnung nach 3 Sekunden wieder auf die Startseite zurückschaltet.
    Nur leider blockiert Chrome http authentifizierungen in Iframes: https://www.chromestatus.com/feature/5669008342777856

    Daher die Frage, kennt jemand eine andere "einfache" Lösung den Webservice Befehl abzusetzen und nach X Sekunden wieder auf die Startseite zurück zu gehen.
    Denke dass es evtl. über Javascript gehen müsste, aber dafür reichen meine Kenntnisse nicht aus das zu schreiben.



  • Christian Fenzl
    Lebende Foren Legende
    • 31.08.2015
    • 11250

    #2
    Wo wird die Seite betrieben?

    Mit JavaScript ist das grundsätzlich ein "Dreizeiler", jedoch darfst du im Browser per JS keinen fremden Server ansprechen. Deswegen brauchst du am Server mit dieser Seite ein vom Webserver aus startbares Miniscript, das deine Miniserver-URL ausführt (zb mit curl). Und dann in deiner Seite den Javascript-Code, um dein Server-Miniscript auszuführen.
    Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

    Kommentar

    • mariokrupik
      Smart Home'r
      • 23.12.2015
      • 46

      #3
      Hallo Christian,

      der Server wird lokal virtuell gehostet und befindet sich im selben Vlan wie die Telefone und Fernseher.
      Der Server ist ein Apache 2.4 inkl. php unterstützung.

      Vielen dank

      Kommentar

      • Christian Fenzl
        Lebende Foren Legende
        • 31.08.2015
        • 11250

        #4
        Schreib dir ein kleines PHP, das deine URL ausführt.

        Wenn das funktioniert, erstelle einen <script> Block in deinem UI-PHP, und paste das zweite Code-Snippet von dieser Antwort: https://stackoverflow.com/a/4033310/3466839

        Diese Funktion rufst du beim Button auf.
        Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

        Kommentar

        • mariokrupik
          Smart Home'r
          • 23.12.2015
          • 46

          #5
          Danke für die Hinweise, ging noch einfacher.

          hab nun eine php Datei erstellt mit
          PHP-Code:
          <?php
             $response = file_get_contents('http://user:password@ip-miniserver/dev/sps/io/tueroeffner/Impuls');
          ?>
          und diese Datei öffne ich nun wie im ersten Test als Iframe.

          Danke für Tipps

          Kommentar

          • Christian Fenzl
            Lebende Foren Legende
            • 31.08.2015
            • 11250

            #6
            Einfacher, aber nicht schöner ;-) (iframe)
            Hauptsache es geht!
            Hilfe für die Menschen der Ukraine: https://www.loxforum.com/forum/proje...Cr-die-ukraine

            Kommentar

            • svethi
              Lebende Foren Legende
              • 25.08.2015
              • 6346

              #7
              Hätte ich auch ohne iframe gemacht. Iframe wird heute so gut wie nicht mehr genutzt und teilweise sogar blockiert

              Kann man ja, wenn es denn sein muss auch direkt in onClick alles angeben und auf eine JS Funktion verzichten.
              Miniserver; KNX; Vitogate; EnOcean (EnOceanPi); Loxone Air; Caldav-Kalenderanbindung; RaspberryPi und für keine Frickellösung zu schade :-)

              Kommentar

              Lädt...