0

BroadcastChannel用来远程控制投影仪上显示的另一个浏览器窗口(在同一台 PC 上)中显示的内容。(基本上,投影窗口是一个扩展的桌面显示。)到目前为止,它在 Chrome 和 Edge 上都运行良好,在远程控制页面和受控页面中各有一个简短的 JS 脚本。

但是,投影的浏览器内容位于三个不同的选项卡中。目前,我必须将焦点切换到该投影窗口并巧妙地使用 Ctrl-Tab 来让我想要控制的选项卡成为活动选项卡。

如何以编程方式选择要激活的选项卡?如果没有通用方法,我很乐意为 Chrome 或 Edge 提供解决方案。

4

1 回答 1

0

如果使用 打开选项卡window.open,您可以使用 在它们之间切换focus()。示例代码如下:

<input type="button" onclick="window1.focus()" value="switch to window1" />
<input type="button" onclick="window2.focus()" value="switch to window2" />
<script>
    var window1 = window.open("https://samplesite.com/window1");
    var window2 = window.open("https://samplesite.com/window2");
</script>

如果没有,由于安全原因,无法在选项卡之间切换。如果可能的话,攻击者可能会找到一种方法来访问有关用户已打开的其他选项卡的信息。

chrome.tabs此外,如果您正在制作浏览器扩展程序,您可以使用API在选项卡之间切换。有关更多信息和示例代码,您可以参考此答案

于 2022-01-18T06:14:39.237 回答