在我的应用程序中,我们可以选择访问url并能够在单独的window.open对话框中查看应用程序。所以,我的应用程序看起来像一个单独的窗口,我们可以开始研究它。
怎么做: 在浏览器中输入URL并单击“输入”按钮,将出现一个新的window.open对话框。
问题:
每当我从旧标签中复制网址并将其粘贴到下一个标签中时,浏览器就会打开第二个window.open对话框,以便我的应用程序开始作为两个单独的对话框工作..我想要在我的代码中限制此操作。
我限制了相同的标签,多个输入选项,但我无法控制多个标签复制粘贴操作..
注意: 在复制粘贴操作期间,我已经实现了会话概念,并且按预期正常工作。
但是,如果用户尝试复制粘贴登录URL并开始使用该应用程序,那么我的应用程序允许同一用户登录...(因为在每个选项卡中,浏览器可以使用相同的会话ID。)< / p>
请帮助在单独的标签中限制多个window.open功能。
提前致谢..
这是我的代码:
var named_wnd = {};
var agt_value = navigator.userAgent.toLowerCase();
var broswerVersion = parseInt(navigator.appVersion);
var broswerVersion_nav = ((agt_value.indexOf('mozilla') != -1) && (agt_value.indexOf('spoofer') == -1) && (agt_value.indexOf('compatible') == -1) && (agt_value.indexOf('opera') == -1) && (agt_value.indexOf('webtv') == -1) && (agt_value.indexOf('hotjava') == -1));
var broswerVersion_v1 = (broswerVersion_nav && (broswerVersion == 6));
var broswerVersion_v6up = (broswerVersion_nav && (broswerVersion >= 6));
var id = 'myWin';
function BaseWNDURL(thisurl) {
var named_wnd_Width = 810;
var named_wnd_Height = 610;
attr = 'toolbar=no,location=no,directories=yes,status=yes,menubar=yes,' +
'scrollbars=yes,resizable=yes,top=0,left=0,width=' + named_wnd_Width + ',height=' + named_wnd_Height + ',' +
'screenX=' + (screen.width - named_wnd_Width) / 2 + ',screenY=' + (screen.height - named_wnd_Height) / 2;
if ((broswerVersion_v1 || broswerVersion_v6up)) {
named_wnd[id] = window.open(thisurl, id, attr);
if (broswerVersion_nav) {
named_wnd[id].screenX = (screen.width - named_wnd_Width) / 2;
named_wnd[id].screenY = (screen.height - named_wnd_Height) / 2;
}
} else {
BaseWNDURL_OpenUP(thisurl);
}
}
function BaseWNDURL_OpenUP(thisurl) {
var named_wnd_Width = screen.width - 10;
var named_wnd_Height = screen.height - 80;
attr = 'toolbar=no,location=no,directories=no,status=yes,menubar=no,' +
'scrollbars=yes,resizable=yes,top=0,left=0,width=' + named_wnd_Width + ',height=' + named_wnd_Height + ',' +
'screenX=' + (screen.width - named_wnd_Width) / 2 + ',screenY=' + (screen.height - named_wnd_Height) / 2;
if (named_wnd[id]) {
if (named_wnd[id].closed) {
named_wnd[id] = window.open(thisurl, id, attr);
if (broswerVersion_nav) {
named_wnd[id].screenX = (screen.width - named_wnd_Width) / 2;
named_wnd[id].screenY = (screen.height - named_wnd_Height) / 2;
}
named_wnd[id].focus();
} else {
named_wnd[id].focus();
}
} else {
named_wnd[id] = window.open(thisurl, id, attr);
if (broswerVersion_nav) {
named_wnd[id].screenX = (screen.width - named_wnd_Width) / 2;
named_wnd[id].screenY = (screen.height - named_wnd_Height) / 2;
}
named_wnd[id].focus();
}
named_wnd[id].focus();
}