我们有一个网络应用程序,并希望浏览器检测打开新链接的尝试。一个典型的用例是该人开启了我们的应用程序;他们点击了他们电子邮件中的链接 - 而不是在新窗口中打开此链接,我们想在我们的应用程序中打开一个内部选项卡。
当然,如果没有延期,这是不可能的;但是可以使用FF / Chrome / Safari / IE的浏览器扩展吗?我们需要扩展来检查针对简单匹配创建的新选项卡的URL - 如果存在匹配以防止创建新选项卡,请在我们使用的选项卡中运行js请求并将视图切换为那个标签。
答案 0 :(得分:1)
对于Safari,答案是肯定的。您可以收听beforeNavigate
事件。该事件具有url
属性。如果您再拨打event.preventDefault()
,则不会创建新标签页。
一个潜在的问题是,您可能无法区分由其他应用程序(例如电子邮件客户端)打开的新标签和浏览器本身打开的标签(例如,当用户命令点击链接到在新标签中打开它)。如果这对你很重要。