标签: browser-tab

检查浏览器选项卡是否已打开,这样我就不会制作额外的标签

当用户将商品添加到我们的购物车时,它会在新标签中打开我们的商店.奇怪的是,不同的网站.

我想检查选项卡是否已打开,然后使用第二个项目重新填充它,而不是使用更新的购物车打开另一个选项卡.

有没有办法用js检查这个?我想我可以跟踪我们打开了标签,但是我没有看到我如何确认它没有在向购物车添加商品之间的时间内关闭而没有做一些ajax请求ping两个页面等.这看起来有点过分.

那么如何检查浏览器选项卡是否已打开?

编辑解决方案:第一:

var tab = window.open('http://google.com','MyTab');
Run Code Online (Sandbox Code Playgroud)

然后:

if(tab) {
  var tab = window.open('http://yahoo.com','MyTab');
}
Run Code Online (Sandbox Code Playgroud)

javascript tabs browser-tab

10
推荐指数
1
解决办法
2万
查看次数

在标签之间共享会话

我有JAVA Web应用程序,我需要停止在浏览器选项卡之间共享会话,这意味着

用户打开浏览器,登录到他的帐户并在同一浏览器的新选项卡中打开特定页面.根据默认设置,会话将共享到新选项卡,用户将自动登录到新选项卡.任何人都可以告诉我这是如何停止的,所以我至少可以在几个敏感页面中限制它,如果不是整个应用程序.

session jsp java-ee browser-tab

7
推荐指数
1
解决办法
2万
查看次数

使用Selenium WebDriver和Java在浏览器选项卡之间切换

我需要在浏览器选项卡之间切换,使用以下代码,

driver.findElement(By.cssSelector("body")).sendKeys(Keys.CONTROL +"\t");
Run Code Online (Sandbox Code Playgroud)

它有时只是正常工作,但有时它会显示异常.任何人都可以建议我使用java在单个窗口中切换选项卡是否有任何其他说明.

java selenium browser-tab selenium-webdriver

7
推荐指数
1
解决办法
4万
查看次数

如何检查标签加载失败

我需要在更新的标签上做一些事情,比如检查页面加载是否正确,并替换页面内的内容.这是我的代码

// background.js

chrome.tabs.onUpdate.addListener(function(tabId, changeInfo, tab){
    try{
       chrome.tabs.executeScript(tabId, filename);
    } catch(e) {
       // 1. when I open a new tab
       // 1. Error during tabs.executeScript: Unknown error.
       // 2. when I request a url not arrive-able.
       // 2. Error during tabs.executeScript: Cannot access contents of url 
       //    "data:text/html,chromewebdata". Extension manifest must request 
       //    permission to access this host.

       // but I can't catch these errors, they just appers in background console.  
    }
});
Run Code Online (Sandbox Code Playgroud)

我在上传时尝试执行脚本,但如果当前选项卡是chrome:// newtab或chrome错误页面,我无法执行此操作,但我无法捕获错误.

javascript google-chrome google-chrome-extension browser-tab

6
推荐指数
2
解决办法
3934
查看次数

检测选项卡之间的会话结束

我正在开发一个可以在不同选项卡中打开的AngularJS webapp,我想知道哪个是检测用户何时在其中一个选项卡中注销的最佳方法; 我想在其他选项卡中弹出一个登录模式窗口.我正在考虑使用服务器发送的事件或跟踪我的服务器cookie的存在.我从来没有做过这样的事情,所以我问的是我的选择有哪些优缺点,或者我是否缺少其他更聪明的方法.

编辑:在服务器上我有ServiceStack(C#)支持Server-Sent Events开箱即用

javascript browser-tab angularjs

6
推荐指数
1
解决办法
668
查看次数

新选项卡中的 Angular 打开组件无需引导整个应用程序

在我的Angular 10应用程序中,我想在新的浏览器选项卡中打开组件。我想在不引导整个应用程序并创建另一个应用程序实例的情况下执行此操作。

我发现文章在新的浏览器选项卡中动态打开 Angular 组件,无需再次引导整个应用程序,它准确地描述了我所需要的内容。

但存在一些问题——它无法正常工作。在 Chrome 隐身模式下它工作正常,但在 Chrome 正常模式或 Firefox 中则无法工作。它会打开新选项卡几毫秒并自行关闭。在其他计算机上,它在 Firefox 中运行良好,但在 Chrome 中根本不起作用。

我的问题是否可以通过某种解决方案或黑客来实现这一目标,并允许它在任何或大多数浏览器中工作?我不想创建多个实例,因为很难进行通信并保持应用程序的一种状态。

browser-tab angular

6
推荐指数
1
解决办法
4231
查看次数

用于透明标签或 Windows 的 Google Chrome 扩展

是否可以创建允许页面控制的窗口不透明度的浏览器扩展?不是让页面上的各种元素具有给定的不透明度,而是让人们看到浏览器页面后面的其他窗口(如桌面)。

谢谢你。

google-chrome-extension browser-tab

5
推荐指数
1
解决办法
9871
查看次数

如何检测搜索结果页面中的项目已在另一个浏览器选项卡中打开

我寻遍SO这个问题已经 ,但是我发现没有答案,解释如何我想实现的行为实际上是实现了.

我想到的是模仿booking.com功能,当你从搜索结果列表中打开搜索结果时,会出现一个div,表示结果已在另一个选项卡(或窗口)中打开,并且当它崩溃时其他标签(或窗口)已关闭.

截图: 在此输入图像描述

第一次尝试是检查某些javascript是否已附加到链接,但事实并非如此,因为如果您只是从页面源复制URL并打开它,则该功能可以正常工作.

所以我认为它可以在服务器端管理,启动wireshark尝试捕获两个打开的页面和服务器之间的任何ajax调用.有很多请求,但似乎没有人传递所需的信息(我想酒店ID或一些网址).另请注意,在隐身窗口或其他浏览器(我的意思是,firefox而不是chrome)窗口中打开结果项URL(包括会话ID)会破坏该功能; 这样就排除了任何会话或IP地址跟踪.

我可以想到的最后一次尝试是搜索结果页面正在轮询一些cookie,该cookie在打开另一个页面时在域上设置,并在关闭时取消设置.所以我检查了一些cookie,其内容实际上有点神秘,但我所看到的是,在其他标签打开和关闭时实际上没有更改cookie,所以,再次,它不能以这种方式完成.

还剩什么?

html javascript navigation browser-history browser-tab

5
推荐指数
1
解决办法
289
查看次数

如何更改docusaurus浏览器标签文本以匹配当前页面

在一个Docusaurus网站,似乎任何page将只显示该网站title在浏览器选项卡中,但一旦你下到doc级别,浏览器选项卡反映页面的标题(doc)你是。

由于titleof的doc是在浏览器选项卡中显示的内容(并且title网站的is是所有的在浏览器选项卡中显示的内容pages),因此我一直在寻找为设置“标题”的地方pages,但是我要么找不到正确的位置来设置title或那不是答案。

我还尝试过以更常规的方式设置浏览器标签文本(例如使用document.title),但被告知document找不到该对象。

我觉得必须有一个地方说“任何类型的东西page都应在浏览器选项卡中显示此文本”(或只是“浏览器选项卡应显示___文本”),但我一直无法找到该代码。 ..

有人处理过吗?

javascript browser-tab docusaurus

5
推荐指数
0
解决办法
28
查看次数

授权代码流程 - 来自多个选项卡的并发请求

当新的浏览器会话启动时,多个选项卡试图同时打开“安全服务器”(我们的 Oauth2 机密客户端)上的多个链接,OAuth2 身份验证代码流中基于 cookie 的会话和状态参数处理的性质会暴露出一个问题。

当浏览器启动时,它会丢弃所有以前的会话 cookie。在崩溃恢复的情况下,浏览器可以一次打开多个选项卡,或者用户可以从书签文件夹或历史记录中一次打开多个选项卡。

在这种情况下,所有选项卡将同时向 Secure Server 发送未经身份验证的请求。每个请求将启动一个新会话和一个新的身份验证代码流,以及新的状态参数,这些参数将保存在此会话中。

所有 Secure Server 的重定向到身份提供商的响应都将带有一个名称相同但值不同的会话 cookie。它们在浏览器中会互相覆盖,浏览器只保留最后一个作为Session ID。

每个选项卡将继续沿着授权代码流程到达身份提供商登录页面并返回安全服务器,具有不同的状态参数,但具有相同的会话 cookie(由最后一个选项卡设置)。

这些状态参数保存在现在丢失的会话中,无法验证。禁止状态参数验证失败,并发出 403 错误。

结果是除了最后一个选项卡之外的所有选项卡都以 403 页面结束。

是否有任何已知的做法可以处理这个问题?

谢谢

state oauth session-cookies single-sign-on browser-tab

5
推荐指数
1
解决办法
1351
查看次数