function openHTMLFile() {
var isFileOpen = false;
for (var i = 0; i < window.length; i++) {
if (window[i].location.href == "https://yoursite/path/to/file.html") {
isFileOpen = true;
break;
}
}
if (!isFileOpen) {
window.open("https://yoursite/path/to/file.html", "_blank");
}
}
3条答案
按热度按时间1wnzp6jl1#
我能看到的唯一可靠的方法是在BroadcastChannel上听到一条询问“我在这里吗?”的消息,然后回答“我在这里"。在页面加载时,问“我在这里吗?”如果你得到肯定的回答,你就知道另一个标签已经拥有了你的页面。
5ssjco0h2#
您可以将打开的选项卡数量存储在
localStorage
中,然后在选项卡关闭时递减该值:see it in action
0qx6xfy63#
在新选项卡中打开HTML文件之前,可以使用JavaScript检查该文件是否已在浏览器中打开。