问题标签 [browser-tab]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
javascript - 如果浏览器的标签包含使用 JavaScript 的某个单词,如何关闭它?
我不是程序员,但我的工作需要我一次打开多个标签。每当我在选项卡中找到某个单词时,我都需要将其关闭。
一个示例是关闭此页面的选项卡:http ://ebay.com/itm/292769440348 ,如果其中包含“结束”一词。我目前正在尝试以下脚本,但即使未检测到“结束”一词,该选项卡也会关闭。
浏览器:Brave 和 Chrome 扩展:Tempermonkey
你能解释一下我的代码中哪一部分有问题吗?
javascript - 如何更改 docusaurus 浏览器选项卡文本以匹配当前页面
在 Docusaurus 站点上,似乎任何站点page
都只会在浏览器选项卡中显示该站点title
,但是一旦您进入该doc
级别,浏览器选项卡确实会反映doc
您所在页面的标题 ( )。
因为 的title
是doc
在浏览器选项卡中显示的内容(并且因为title
站点的 是在浏览器选项卡中显示的所有内容pages
),所以我一直在寻找为 设置“标题”的地方pages
,但我要么有没有找到正确的地方来设置title
or 那不是答案。
我还尝试以更传统的方式(例如使用document.title
)设置浏览器选项卡文本,但我被告知document
找不到该对象。
我觉得必须有一个地方说“任何类型的东西都page
应该在浏览器选项卡中显示这个文本”(或者只是“浏览器选项卡应该显示___文本”)但我一直无法找到那个代码。 ..
以前有没有人处理过这个问题?
javascript - IE 11 - 带有事件侦听器的本地存储在从一个选项卡注销时刷新其他浏览器选项卡中的页面,在 IE 中不起作用
我敢肯定,这个问题以某种或其他方式出现了很多次,但没有什么真正帮助我。
我会开门见山的
我打开了我的应用程序的多个选项卡。从一个选项卡注销时,应刷新其他选项卡。所以我写的代码是这样的,
和
这适用于除 IE 之外的所有其他浏览器。我知道有诸如 sessionStorage、postMessage 等选项。如果我得到一个类似于 localstorage 但适用于 IE 的答案,我将不胜感激。
谢谢你。
编辑:我应该提到我知道 IE 11 不支持它,因为我已经研究了很长时间,我正在寻找一种替代的内置代码方法。很抱歉,但我不想知道 IE 是否支持它,我想以另一种方法完成我上面提到的任务,而不需要任何新的引用或扩展(如果有的话)。谢谢大家的回复。我目前正在尝试制作自定义事件。不确定这会起作用。同时寻找一个好的替代方法。再次感谢大家。
javascript - 如何确定选择了浏览器选项卡并在 JavaScript 中执行代码?
我想在多个浏览器选项卡上打开一个相同的页面。当我单击一个浏览器选项卡时,我希望 JavaScript 函数执行一次,一次!并不是说该函数被执行了 3 次,因为例如在 3 个浏览器选项卡上打开了一个相同的页面。
我努力了:
如果您的光标专注于 Web 浏览器并不断在该浏览器上的选项卡之间切换,则此方法可以正常工作。
但是,如果您首先将光标放在该 Web 浏览器以外的其他东西上(例如计算机桌面或代码 IDE),然后单击 NON-ACTIVE 浏览器选项卡,则上述代码将被执行两次,一次由前一个活动选项卡,另一次是您刚刚单击的新活动选项卡。
那是我的问题。
当我单击 Web 浏览器选项卡时,如何只执行一次 JavaScript 代码?除了 JavaScript 代码之外的任何解决方案也都受到欢迎,例如跟踪像素或输入字段自动对焦事件,仅用于命名示例。我并不是说跟踪像素技术会有所帮助。我没有使用 jQuery。我正在使用 VueJs。
reactjs - 切换到另一个浏览器选项卡时,Redux 商店停止接收操作
我将 React 16.8.6 与 redux 4.0.1 一起使用,但我对 redux 的存储有疑问。当我切换到另一个浏览器选项卡时,商店会停止发送任何操作。
正常流量:
- 点击一个按钮
- 操作 1 已发送(获取某些东西)
- 操作 2 已发送(在 DB 中保存一些内容)
- 动作 3 已派发(取东西)
当我切换到另一个选项卡时:
- 点击一个按钮
- 操作 1 已发送(获取某些东西)
- 切换到其他浏览器选项卡或打开其他应用程序
- (应用程序没有收到其他操作)
但是当我回到我的应用程序的选项卡并刷新它时,我可以看到操作 1和2应该做的更改。但是,它们没有被我的应用程序捕获,因为它的选项卡未处于活动状态。
由于该应用程序正在使用 firebase 消息传递,我试图将它与 React 服务工作者连接以解决问题,但它不起作用。
我该怎么办?这是 redux 的常见问题吗?
authentication - OAuth2.0/OIDC 公共客户端:在不涉及第三方的情况下,推荐使用什么实现来进行身份验证和范围同意?
语境
我正在开发一个解决方案
- 两个客户端,一个移动客户端和一个 SPA。
- 我控制的授权服务器。
- 资源服务器/身份提供者,通过 API 提供用户数据和功能。
我使用 OAuth2.0 是因为它可以提供优势,例如允许第三方应用程序轻松与我的身份验证服务器/IdP 集成,无论是访问用户数据还是 API 功能。它还将允许客户与其他 IdP 集成,并最终将他们的数据迁移到我的。
OAuth 流程
验证
在 OAuth 流程中,会进行重定向以在授权服务器上对用户进行身份验证。此时,用户输入凭据并同意客户想要访问的范围/声明。对于第三方客户端应用程序,我了解:
- 移动:最新的RFC推荐移动应用的浏览器自定义选项卡。
- SPA:基于浏览器,这里是一个简单的重定向。
但这是一个第三方客户端应用程序将身份验证和帐户管理委托给我的 IdP 系统的用例。这确保了移动应用程序无法窥探用户的凭据(并最终利用 IdP 的 sso 解决方案,因此无需输入凭据)。
就我而言,我拥有客户和其他人。
我的第一个问题是:由于我拥有应用程序,无论它是移动应用程序还是 Web 应用程序,我是否一定需要实现对 IdP 上托管的 UI 的重定向?或者我可以将表单直接作为移动/Web 应用程序的一部分并通过 REST 对用户进行身份验证(然后按照 OAuth 流程的其余部分为 OIDC 提供 AccessToken + IdToken)?
范围
当它是第三方客户端应用程序时,我知道我们必须向最终用户显示客户端想要访问的数据(范围/声明)。用户必须明确同意并知道应用程序将使用哪些数据。
但在我的情况下,由于我拥有该应用程序,我不能只拥有用户批准使用该应用程序的条款和条件页面并跳过 OAuth 流程中的范围/声明批准吗?
简而言之,最佳实践是什么?为什么不涉及第三方?
firefox - 在 Firefox 中 - 跨所有选项卡:如何使用浏览器外部的代码列出所有打开的浏览器中所有打开的浏览器选项卡的所有打开 URL?
在 Firefox 中 - 跨所有选项卡:如何使用浏览器外部的代码列出所有打开的浏览器中所有打开的浏览器选项卡的所有打开 URL?
---
如果我打开多个选项卡或带有选项卡的其他浏览器,然后我关闭了我的机器,或者它崩溃或我杀死了所有进程(.exe),下次我启动浏览器时,所有选项卡将在一个浏览器窗口中重新打开,或多个浏览器窗口,因为它在关闭之前存在。
这些信息存储在哪里?具体来说,URL 存储在哪里以便实现这一点?
1) 当浏览器/选项卡启动并运行时,我需要以编程方式访问所有正在运行的浏览器中所有选项卡中当前打开的所有 URL,以获取给定的配置文件
2) 与否:如果它们全部关闭(数据存储在某个文件或数据库的配置文件目录中的某个位置,以便下次启动将打开所有 URL)
---
我想通过 bash (cygwin)、Python、Java 或 Rust 访问所有打开或存储的 URL,在机器上运行的一些语言访问配置文件目录中的文件(在浏览器外部运行的代码)。
angular - 新选项卡中的 Angular 打开组件,无需引导整个应用程序
在我的Angular 10
应用程序中,我想在新的浏览器选项卡中打开组件。我想在不引导整个应用程序并创建另一个应用程序实例的情况下做到这一点。
我发现文章在新的浏览器选项卡中动态打开 Angular 组件,而无需再次引导整个应用程序,这正是我所需要的。
但是有一些问题 - 它无法正常工作。在 Chrome 隐身模式下它可以正常工作,但在正常模式下的 Chrome 或 Firefox 中不起作用。它会在几毫秒内打开新选项卡并自行关闭。在其他计算机上,它在 Firefox 中运行良好,但在 Chrome 中根本无法运行。
我的问题是可以通过一些解决方案或破解来实现这一目标,并允许它在任何或大多数浏览器中工作吗?我不想创建多个实例,因为很难沟通和保持应用程序的一种状态。
javascript - 如何在 PHP 中保持浏览器选项卡独立
阅读了大量与我想做的相关的帖子后,我很确定这是不可能的,但无论如何我都会问这个问题,希望有人可能以前解决过这个问题,或者可以指出我正确的方向一个解法。
我有一个复杂的 PHP/MySQL Web 应用程序,我希望保持浏览器选项卡/窗口独立。例如,用户可以在一个选项卡中对数据库进行搜索,并在另一个选项卡中进行另一次搜索,并且在进行搜索时设置和存储的各种参数仅链接到相关的浏览器选项卡。重新加载选项卡或在搜索中进一步移动(分页系统限制存储的结果数量)不会干扰其他搜索选项卡,并且仅使用当前选项卡标识的参数。
我的想法是将搜索和其他与浏览器选项卡有关的参数存储在数据库表中,该数据库表由与选项卡相关联的一些唯一标识符作为键控。
我不能使用 PHP 会话,因为它们在选项卡中很常见。PHP 作为服务器端,不知道请求来自哪个选项卡/窗口。Cookie 与会话一样,在选项卡中很常见。
跟踪不同选项卡/窗口的解决方案似乎是 javascript 的 sessionStorage,乍一看似乎很理想——我可以设置一个浏览器选项卡独有的 js 会话变量,并将其回显到 PHP 脚本,并且在每个选项卡中,我可以设置并保持一个独立的值。然而,我需要将该 js 会话值分配给 PHP 变量,并且这需要在 PHP 脚本的搜索部分运行之前可用。除了加载 URL 之外,用户方面没有任何交互(即没有表单提交等)。
我遇到过建议 AJAX/JQuery 的解决方案,但这些都需要在 PHP 脚本运行后的表单和某种类型的用户交互,并且我见过的大多数示例都写入 div 的 innerHtml。这些都不能实现我想要的。
最近,我一直在玩弄通过网关 URL 解析应用程序的每个页面的想法,该 URL 只需加载一个创建 js 会话(如果尚未创建)的 javascript 脚本,然后重定向到具有唯一标识符的实际 PHP 脚本作为查询字符串的一部分。但这似乎涉及不必要的开销。
任何建议甚至解决方案都将不胜感激。
————>
回应 ADyson(因为评论框太短):
该应用程序在这里:https ://testdrive.wikindx.com/
它是为学者/研究学生管理参考资料的。它们都以不同的方式工作,包括一些人喜欢打开多个标签来进行不同的搜索,这就是问题所在。例如,每次搜索都会产生显示在网页上的结果,以及搜索参数等其他信息(供参考)。分页系统(即显示例如 10 个结果/页)被设计为使用更快和更有效的 SQL 调用进入下一页——所有繁重的工作都在初始搜索中完成。搜索参数和摘要结果/总计在第一次调用时完成,这些必须保存在某个地方以及核心 SQL 子查询中。基本上,有一些数据在搜索的不同页面中是通用的,这些数据必须存储在某个地方,并且对于该浏览器选项卡中的搜索来说是唯一的。
google-chrome - Applescript,我如何告诉 chrome 窗口 1 在 chrome 窗口 2 中打开鼠标下的链接作为选项卡?
我有一个左镀铬窗口和一个右镀铬窗口打开,我想从左窗口打开光标下的链接作为右窗口中的选项卡。
我知道这应该很容易实现,虽然我不知道applescript。
告诉谷歌浏览器窗口 1 等?
抱歉含糊其辞,除了学习applescript或询问之外我无能为力。