我在一个有一个超链接的asp.net网页上工作。每当单击该超链接时,都会使用javascript window.open
打开一个新的浏览器窗口。我希望,如果用户点击此链接多次,那么只有一个窗口打开,而不是多个窗口。我只希望该窗口被突出显示时,用户点击该超级链接多次。是否需要使用window.open
来检测url是否在浏览器的任何其他选项卡中打开?有没有内置的jQuery插件,这样我就可以用它来兼容浏览器了。
下面是超链接url:
<a onclick="addClick()" href="javascript:void(0)">
New</a>
下面是我使用的代码:
function addClick() {
var ID = jQuery("#ID").val();
var PSSWD = jQuery("#PSSWD").val();
var ACCID = jQuery("#ACCID").val();
var PASSWDINT = jQuery("#PASSWDINT").val();
window.open("LoginAPI?ID=" + encodeURIComponent(ID) + "&PSSWD=" + encodeURIComponent(PSSWD) + "&ACCID=" + encodeURIComponent(ACCID) + "&PASSWDINT=" + encodeURIComponent(PASSWDINT) + "", "LoginAPI");
}
请提个建议。
发布于 2013-06-07 06:32:45
发布于 2013-06-07 06:33:28
HTML:
<a href="http://www.someurl.com" onclick="openwindow.call(this); return false;">open window</a>
var wins = {};
function openwindow(){
var url = this.href;
if(typeof wins[url] === 'undefined' || wins[url].closed)
wins[url] = window.open(url);
}
发布于 2013-06-07 06:50:17
若要在HTML页中仅打开弹出窗口的一个实例,请使用window.open method
的windowName
参数。
例如
window.open('http://www.abc.com')
每次用户单击包含window.open代码的链接时,都会打开一个新窗口。
相比之下,
window.open('http://www.abc.com','abc')
将只打开窗口的一个实例,无论用户单击链接多少次。
您也可以使用focus
函数,如下所示
<script language="javascript" type="text/javascript">
<!--
function popitup(url) {
newwindow=window.open(url,'name','height=200,width=150');
if (window.focus) {newwindow.focus()}
if (!newwindow.closed) {newwindow.focus()}
return false;
}
// -->
</script>
编辑1
<a onclick="return addClick()" href="javascript:void(0)">New</a>
下面是我使用的代码:
function addClick() {
var ID = jQuery("#ID").val();
var PSSWD = jQuery("#PSSWD").val();
var ACCID = jQuery("#ACCID").val();
var PASSWDINT = jQuery("#PASSWDINT").val();
window.open("LoginAPI?ID=" + encodeURIComponent(ID) + "&PSSWD=" + encodeURIComponent(PSSWD) + "&ACCID=" + encodeURIComponent(ACCID) + "&PASSWDINT=" + encodeURIComponent(PASSWDINT) + "", "LoginAPI");
return false;
}
https://stackoverflow.com/questions/16977590
复制相似问题