浏览器选项卡知道何时进行了复制



我想让我的浏览器选项卡知道它何时被复制。

我见过的唯一类似的解决方案集中在知道重复的选项卡上,或者原始选项卡知道重复,但这只适用于Chrome。

要求:

  • 解决方案适用于所有现代浏览器

如果解决方案:,则奖金

  • 适用于Internet Explorer版本
  • 使用一些原生Angular功能

您可以使用广播频道API。

  1. 在加载时创建一个频道并广播消息
  2. 使用onmessage事件,捕获消息,如果与初始消息匹配,则广播另一个消息
  3. 重复标签将接收第二个广播,而第一个标签将接收第一个广播

const broadcast = new BroadcastChannel('test')
broadcast.postMessage('I am First');
broadcast.onmessage = (event) => {
if (event.data === "I am First") {
broadcast.postMessage(`Sorry! Already open`);
alert("First Tab");
}
if (event.data === `Sorry! Already open`) {
alert("Duplicate Tab");
}
};

最新更新