gpt4 book ai didi

Javascript - IE 浏览器窗口其他实例中的 URL 检测

转载 作者:行者123 更新时间:2023-11-28 03:58:54 26 4
gpt4 key购买 nike

我正在使用下面的代码进行 URL 检测,如果它已经在任何浏览器窗口或选项卡中打开,并且到目前为止我已经实现了它,但在一个实例中失败了,即,如果该 url 已经在其他窗口中打开,然后如果我在 IE 的另一个窗口中启动该应用程序,那么它不应该启动,因为一个实例已经打开,并且已经打开的实例应该设置为焦点....

请指导我......

var memberURL = document.URL;
var newWindowCopy = document.URL;
var winBrowser = window.clientInformation.appName;
var stringText = window.clientInformation.userAgent.toString();
var localVariable = "IamAliveInLocalStorage";

if (winBrowser == "Microsoft Internet Explorer" || stringText.indexOf('MSIE') >= 0) {
if (localStorage.getItem("MyStorage") == localVariable) {
open(memberURL, newWindowCopy).close();
}
else {
localStorage.setItem("MyStorage", localVariable);
window.onbeforeunload = function () {
localStorage.removeItem("MyStorage");
localStorage.clear();
};
}
}
else { }

最佳答案

没有直接的方法可以聚焦您没有引用的窗口或选项卡,即只有页面打开的子窗口可以通过 window.focus() 方法聚焦。

但是您可以使用一个技巧,即 alert() 将焦点获取到其窗口。

因此,您可以在您的页面上添加支票

function focusOnOpenedTab() {
var temp = localStorage.getItem('focusOnTab');
localStorage.setItem('focusOnTab',JSON.stringify(~~temp+1));
}
if(// page is open in any window){
focusOnOpenedTab()
} else {
window.addEventListener("storage", message_receive);

function message_receive(ev) {
if (ev.key == 'focusOnTab') {
var message=JSON.parse(ev.newValue);
alert('focused');
}
}
}

您的页面将获得焦点并收到带有消息focused警报

关于Javascript - IE 浏览器窗口其他实例中的 URL 检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47323988/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com