0

Wir haben eine Webanwendung und möchten, dass der Browser versucht, eine neue Verknüpfung zu öffnen. Ein typischer Anwendungsfall ist, dass die Person unsere App geöffnet hat. Sie klicken auf einen Link in ihrer E-Mail - anstatt diesen Link in einem neuen Fenster zu öffnen, möchten wir einen internen Tab in unserer Anwendung öffnen.Verwenden einer Browsererweiterung zum Ermitteln des Öffnens einer bestimmten Site

Natürlich ist dies ohne eine Erweiterung nicht möglich; aber ist es mit einer Browsererweiterung für FF/Chrome/Safari/IE möglich? Wir benötigen die Erweiterung, um die URL einer neuen Registerkarte zu überprüfen, die gegen eine einfache Übereinstimmung erstellt wird. Wenn eine Übereinstimmung besteht, um die Erstellung der neuen Registerkarte zu verhindern, führen Sie eine js-Anfrage in der Registerkarte aus, die wir verwenden, und wechseln Sie zur Ansicht diese Registerkarte.

Antwort

1

Für Safari ist die Antwort ja. Sie können nach einem beforeNavigate Ereignis hören. Die Veranstaltung hat eine url Eigenschaft. Wenn Sie dann event.preventDefault() aufrufen, wird keine neue Registerkarte erstellt. Ein potenzielles Problem besteht darin, dass Sie möglicherweise nicht zwischen neuen Tabs unterscheiden können, die von anderen Apps geöffnet werden (z. B. einem E-Mail-Client) und solchen, die vom Browser selbst geöffnet werden (z. B. wenn ein Benutzerbefehl auf einen Link klickt) um es in einem neuen Tab zu öffnen). Wenn dir das wichtig ist.

Verwandte Themen