Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Win32/Win64 API (native code) (https://www.delphipraxis.net/17-win32-win64-api-native-code/)
-   -   Delphi URL (s) bei mehreren Browsern und mehreren Tabs (https://www.delphipraxis.net/147955-url-s-bei-mehreren-browsern-und-mehreren-tabs.html)

Schwedenbitter 19. Feb 2010 17:02


URL (s) bei mehreren Browsern und mehreren Tabs
 
Hallo,

falls ich nicht in der richtigen Rubirk poste, dann bitte umsortieren. Ich gehe daber davon aus, dass die Unit DDEMan auch die API-Funktionen zumindest im weitesten Sinne benutzt.

Mein Problem:
Ich schreibe ein Programm, dass bestimmte Aktionen ausführt. Diese wiederum wirken sich unmittelbar auf ein in php geschriebenes Programm aus. Letzteres wird über einen Browser (IE oder Firefox) dargestellt. Da sich beide nicht automatisch aktualisieren (jedenfalls nicht bei mir), sende ich an das Handle mit dem entsprechenden Fenstertitel ein F5 mit
Delphi-Quellcode:
keybd_event(VK_F5, 0, 0, 0);
keybd_event(VK_F5, 0, KEYEVENTF_KEYUP, 0);
Zuvor prüfe ich mit einer Funktion (u.a. hier zu finden) ob auch mein Programm läuft und nicht etwa meine Lieblingsseite geöffnet ist. Ich habe aber das Problem, dass ich weder weiß,
  • ob der Benutzer den IE oder Firefox benutzt,
  • wieviele Instanzen gestartet sind
  • wieviele Tabs ggf. geöffnet sind noch
  • ob der Tab mit meinem Programm gerade aktiv ist.
Die letzte Frage "klärt" sich anhand des Fenstertitels, der sich mit der URL im Tab ändert.

Meine Frage:
Gibt es eine (einfache) Möglichkeit, nur das konkrete Fenster/Tab trotz der genannten Widrigkeiten zu aktualisieren?

Danke für Eure Ideen!
Alex

Ruio 19. Feb 2010 19:42

Re: URL (s) bei mehreren Browsern und mehreren Tabs
 
Kommst du an den Quelltext der php-Anwendung ran? Dann kannste da ja die Seite immer automatisch aktualisieren lassen:
Code:
<META HTTP-EQUIV="Refresh" CONTENT="5">

Shark99 19. Feb 2010 20:39

Re: URL (s) bei mehreren Browsern und mehreren Tabs
 
Du kannst beim IE die Infos über alle Tabs bekommen, d.h. welche URLs geladen sind. Ich poste keinen Code, weil es dich nicht weiter bringt, weil das ganze leider nicht mit Firefox geht. Von Firefox kannst du nur den aktuellen Tab auslesen. Hat damit zu tun dass Firefox zum grossen Teil die Windows API umgeht und keine Schnittstelle bietet mit der du Informationen über den Browserzustand auslesen kannst (wie IE über COM).

Schwedenbitter 20. Feb 2010 19:32

Re: URL (s) bei mehreren Browsern und mehreren Tabs
 
Danke Ruio und Shark99!

Ich käme an den php-Code ran. Aber das Neuladen aller 5 Sekunden scheidet aus. Wenn ich das mit allen Clients im Intranet mache, dann geht der Server schnell in die Knie.
Ich hätte trotdem Interesse an dem Code für die Infos zu allen Tabs. Ein Link würde schon reichen. Mir ist so, als hätte ich dazu schon einmal irgendwo etwas gefunden. Aber ich kann mich nicht mehr erinnern; auch nicht an die Suchworte. Ob nur IE, wäre mir erstmal egal.

Gruß, Alex

Ruio 20. Feb 2010 19:40

Re: URL (s) bei mehreren Browsern und mehreren Tabs
 
In Opera kann man ne Seite auch automatisch nach einer einstellbaren Zeit neu laden lassen. Oder du prüfst über JavaScript ob was neues da ist und lädsts dann neu.


Alle Zeitangaben in WEZ +1. Es ist jetzt 17:56 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz