Javascript 如何仅打开一个窗口弹出窗口,并将其限制为仅打开一个窗口
我只想在单击URL后打开一个弹出窗口。 但是,如果我单击相同的URL,另一个弹出窗口将打开。现在有两个弹出窗口 有谁能帮我解决这个问题,因为我想把它限制在一个窗口内。 代码:-Javascript 如何仅打开一个窗口弹出窗口,并将其限制为仅打开一个窗口,javascript,html,popup,popupwindow,Javascript,Html,Popup,Popupwindow,我只想在单击URL后打开一个弹出窗口。 但是,如果我单击相同的URL,另一个弹出窗口将打开。现在有两个弹出窗口 有谁能帮我解决这个问题,因为我想把它限制在一个窗口内。 代码:- var isOpen=“false”; var newwindow=null; 函数调用(){ var link=document.getElementById('link').getAttribute('href'); 如果(等参线==“假”){ isOpen=“true”; 打开(链接,“空白”,“宽度=950,高
var isOpen=“false”;
var newwindow=null;
函数调用(){
var link=document.getElementById('link').getAttribute('href');
如果(等参线==“假”){
isOpen=“true”;
打开(链接,“空白”,“宽度=950,高度=650,滚动条=yes,可调整大小=yes”);
}否则{
newwindow.location.href=url;
newwindow.focus();
}
}
显示弹出窗口的功能/代码应进行一些更改,以标记弹出窗口已显示
例如:以下示例更改了链接的href
,因此该函数不会再次被调用:
<html>
<head>
<script>
function myfunction () {
document.getElementById("someid").setAttribute("href", "javascript:console.log('No more alert!')");
alert("Will be shown only once!");
}
</script>
</head>
<body>
<a id="someid" href="javascript:myfunction()">Click me!</a>
</body>
</html>
函数myfunction(){
document.getElementById(“someid”).setAttribute(“href”,“javascript:console.log('No more alert!'));
警报(“仅显示一次!”);
}
给出窗口的名称,如:
window.open(link,'testName','width=950,height=650,scrollbars=yes,resizable=yes');
它将在同一窗口中打开链接
<script >
var isOpen = "false";
var newwindow=null;
function call() {
var link =document.getElementById('link').getAttribute('href');
if (isOpen == "false") {
isOpen = "true";
window.open(link,'testName','width=950,height=650,scrollbars=yes,resizable=yes');
} else {
newwindow.location.href = url;
newwindow.focus();
}
}
</script>
var isOpen=“false”;
var newwindow=null;
函数调用(){
var link=document.getElementById('link').getAttribute('href');
如果(等参线==“假”){
isOpen=“true”;
打开(链接,'testName','width=950,height=650,scrollbars=yes,resizeable=yes');
}否则{
newwindow.location.href=url;
newwindow.focus();
}
}
希望能有帮助 这个适合我
var win;
$(document).on('click','#button', function(event) {
url = 'https://example.com/';
if (!win) {
win = window.open(url, '_blank');
}else{
win.focus();
}
});
“任何人都可以在这个问题上提供帮助”任何人都可以在不显示代码的情况下提供帮助。@ketan。检查代码您的代码行
执行两件事:首先调用call()
函数,然后按照链接进行操作。call函数打开新窗口,但原始(初始)窗口会重新加载href地址。让我建议使用另一种方法,简单地将href定义为:
。感谢Ramón的工作。。。但问题是,我打开了链接1,然后再次单击链接3,但它没有打开。链接2和3只是在当前窗口上重新加载welcome.htm页面,变量将再次初始化。只要不重新加载窗口,就可以保留变量。如果你寻找一些浏览器间的Windows通信,你应该考虑其他工具作为cookies或者。我给我的代码可以检查它,看看它是否可以被固定。实际上它是弹出窗口。弹出窗口不应两次打开:由于其长度和内容,此答案被标记为低质量。您可能希望通过添加更多有关此选项如何回答OP问题的信息来改进它。
var win;
$(document).on('click','#button', function(event) {
url = 'https://example.com/';
if (!win) {
win = window.open(url, '_blank');
}else{
win.focus();
}
});
var newWindow = null;
goToUrl(url)
goToUrl = (url) => {
if (!!!newWindow) {
newWindow = window.open(url);
} else {
newWindow.focus()
newWindow.location = url;
}
}