现在我正在尝试使用JavaScript打开一个新的弹出窗口,但我只想要点击几次链接打开一个弹出窗口,但是如果我关闭窗口我希望它再打开以弹出窗口
到目前为止,我已经开始关注:
的.js
function open() {
var popup = window.open("http://www.google.com/", "URL","left=0,top=0,width=800,height=600,status=no,resizable=no,scrollbars=no,toolbar=no,menubar=no");
}
html的
<a onclick="javascript:open()">Click me</a>
使用Chrome和FF效果很好,但是当我使用IE测试时,它会为每次点击打开一个新窗口。
我想知道是否有办法解决这个问题。
答案 0 :(得分:0)
function open() {
document.getElementById('link').onclick = '';
// open popup
}
<a id="link" onclick="javascript:open()">Click me</a>
请注意,这不是一个彻底的解决方案,并不考虑弹出窗口被阻止的情况。
答案 1 :(得分:0)
使用变量检查之前是否已打开过。
var opened = false;
function open() {
if (!opened) {
var popup = window.open("http://www.google.com/", "URL","left=0,top=0,width=800,height=600,status=no,resizable=no,scrollbars=no,toolbar=no,menubar=no");
popup.onload = function() {
popup.onunload = function() {
opened = false;
};
};
opened = true;
}
}
您可以阅读此内容以获取嵌套回调说明。
Why does window.open(...).onunload = function () { ... } not work as I expect?
答案 2 :(得分:0)
@Tomarto
试试这段代码,
function Redirect (url, name, args)
{
if (typeof (popupWind) != "object" || popupWind.closed)
{
popupWind= window.open(url, name, args);
}
popupWind.focus();
return popupWind;
}
答案 3 :(得分:0)
要在HTML页面中仅打开一个弹出窗口的实例,请使用window.open方法的“windowName”参数。 例如:window.open(“http://www.mywebsite.com”)将在每次用户单击包含window.open代码的链接时打开一个新窗口。要在同一个窗口中打开,请使用window.open(“http://www.mywebsite.com”,“contacts”),这样只会打开一个窗口实例,以便链接上的任何“N”次点击次数。