Beim Erstellen benutzerdefinierter URL-Protokoll-Handler ist es wichtig, auf Szenarien zu achten, in denen der Handler möglicherweise nicht installiert ist. In diesem Artikel wird ausführlich erläutert, wie registrierte Protokollhandler mithilfe von JavaScript erkannt werden.
Die Notwendigkeit der Erkennung von Protokollhandlern
Wie im bereitgestellten Codeausschnitt dargestellt, Webanwendungen Verlassen Sie sich auf Handler, um bestimmte URL-Schemas wie „http://“ und „mailto://“ zu verarbeiten. Wenn jedoch ein benutzerdefiniertes Schema wie „custom://“ verwendet wird, müssen Fälle berücksichtigt werden, in denen der Handler nicht installiert ist.
Protokollhandler mit JavaScript erkennen
Um registrierte Protokollhandler zu erkennen, bietet JavaScript begrenzte Möglichkeiten. Die folgenden Ansätze können einige Erkenntnisse liefern:
Hacking mit Timern und Fensterunschärfeereignissen
Obwohl es sich nicht um eine optimale Lösung handelt, versucht dieser Hack, einen Timer einzustellen, der den Fokus prüft Verlust aus dem Fenster. Wenn der Fokus innerhalb eines bestimmten Zeitrahmens nicht verloren geht, geht es davon aus, dass der benutzerdefinierte Handler nicht aufgerufen wurde, und benachrichtigt den Benutzer.
Einschränkungen verfügbarer Ansätze
Leider JavaScript bietet keine native Methode zur direkten Abfrage der registrierten Protokollhandler des Browsers. Die oben genannten Hacks können unzuverlässig sein und sind möglicherweise nicht für kritische Anwendungen geeignet.
Alternative Lösungen
Um eine zuverlässige Erkennung von Protokollhandlern zu gewährleisten, können alternative Lösungen in Betracht gezogen werden:
Schlussfolgerung
Während es keine direkte JavaScript-Methode zum Erkennen von Protokollhandlern gibt, bieten die oben beschriebenen Ansätze alternative Strategien für die Behandlung von Fällen, in denen ein benutzerdefinierter Handler erforderlich ist ist nicht installiert. Die Auswahl des am besten geeigneten Ansatzes hängt von den Anforderungen der Anwendung und der Zielbrowserumgebung ab.
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3