Während Karthik's answer ist besser als ein Schlafbefehl, und es kann ziemlich gut funktionieren für viele Websites, fand ich, dass es einige Probleme gibt was besonders dann schleicht, wenn Sie es häufig benutzen.
brauchte ich eine zuverlässige Lösung selbst, was ich glaube, ich endlich gefunden habe. Rufen Sie den Chrome Web Store auf und fügen Sie die Google Chrome-Erweiterung Control Freak
hinzu. So können Sie auf einfache Weise Code-Blöcke einrichten, die auf einer einzelnen Seite, einer ganzen Domäne oder einer beliebigen Site/Seite ausgelöst werden können.
Control Freak Chrome Extension
Sobald Sie haben es geladen wird, klicken Sie auf das Zahnrad-Taste Sie nun für die Erweiterung haben. Klicken Sie oben im Popup-Fenster im entsprechenden Kontext/Speicherbereich auf die Seitenerkennung. das heißt All
Jetzt können Sie auf der Libs Registerkarte. Scrollen Sie nach unten zu jQuery. Sie können jede Version aus der Liste auswählen, die Sie möchten, aber ich wählte die neueste. Beachten Sie, dass die URL für das CDN unten hinzugefügt wird. Jetzt, nachdem Sie auf die Save
Schaltfläche am unteren Rand Sie immer jQuery in zur Verfügung haben wird, was auch immer Kontext gewählt.
Schalter zurück auf die JavaScript Registerkarte und diesen Code hinzufügen und ändern, wie Sie mögen:
jQuery(function() {
prompt("Diagnostic: Page Status", "loaded");
});
Sobald Sie auf Speichern klicken, wird dieser Code ausgeführt werden, auf dem jQuery Bereit-Ereignis. Jetzt haben Sie eine zuverlässige Möglichkeit, die Seitenauslastung zu erkennen, die AHK verwenden kann!
Mit dieser Stelle können Sie AutoHotkey auf ein Fenster warten lassen, dessen Titel beginnt mit "Die Seite um" ...., was zweifellos unsere Eingabeaufforderung sein wird, die mit unserem Wort "loaded" ausgefüllt ist. Sie können AHK sagen, dass er ein Control + c senden soll, um das zu kopieren, dann überprüfen Sie seinen Wert, oder nehmen Sie einfach an, dass Sie wahrscheinlich haben, was Sie erwartet haben, seit Sie es gesehen haben. Der folgende AHK-Code kann auf das Aufforderungs-Pop-up warten (was genauso gut mit einer Warnung btw geschehen könnte).
clipboard=
WinWait, The page at
WinWaitActive
Send ^c
ClipWait
WinClose
; The rest here is entirely optional tooltip code, but can be useful.
tooltip, The diagnostic data provided was: %clipboard%,0,0
sleep, 1000
tooltip
So machen wir es optimieren und es in eine Funktion setzen Sie rufen über können und immer wieder:
Funktion Definition:
waitForPageLoad()
{
WinWait, The page at
WinWaitActive
WinClose
}
Call Function:
waitForPageLoad()
Andere Gedanken ..
Jetzt habe ich festgestellt, dass dieser Code auch dann ausgelöst wird, wenn die Seite nicht wirklich geändert oder neu geladen wird, z. B. wenn sich die Seiten-URL ändert, aber sie speziell codiert, um die Seite nicht zu verlassen Inhalt dort. Das ist perfekt für meine Zwecke, aber das könnte herausgefiltert werden, indem man irgendeine Art von Variable setzt und prüft, ob sie bereits gesetzt wurde (innerhalb des JavaScript-Codes, den du in Control Freak hinzugefügt hast).
Die auf ly Möglichkeit ist wahrscheinlich zu prüfen, ob das Symbol zum Laden der Seite vorhanden ist. Bei einer Pixelsuche können Sie die Farbe überprüfen und wenn die Farbe nicht die Farbe des Ladesymbols hat, wird sie geladen. http://www.autohotkey.com/board/topic/82884-how-to-determine-web-page-loaded-successfully/ –
Ja, Sie können es anders machen, aber es braucht ein Benutzer-Skript, wie Sie es gesehen haben, wenn Sie möchten feststellen, ob die Seite geladen ist, dann sollten die Entwickler einen Code für jeden möglichen Browser erstellen, der nicht der beste ist, Sie können das Userscript auch versuchen, deshalb habe ich Ihnen den Link geschickt, beim nächsten Mal google . –