我有href
如下:
<a class="eLink" href="http:www.abc.com">chk here xyz</a></li>
和“eLink”的javascript如下:
$("a.eLink").click(function link(evt) {
url = evt.target.href;
if (url.toString().toLowerCase().indexOf(".gov") <= 0) {
var tk = "Do you really want to continue?";
if (confirm(tk)) {
window.open(url, 'newwin');
}
}
else
{ window.open(url, 'newwin'); }
return false;
});
});
现在,当点击超级链接时,我收到消息“你真的想要继续吗?”,现在当我点击“是”时,它会打开一个新的浏览器,目标页面为“abc.com”,我当前的浏览器也是更改为“abc.com”。我想以这样的方式更改代码:当前浏览器保留在同一页面中,目标浏览器“abc.com”在新页面中打开,如果我单击“否”,则浏览器应保留在同一页面中。我尝试在带有确认框的普通javascript中使用它们,但问题是我必须使用此代码的地方,外部浏览器链接必须在javascript中给出,我想避免。上述脚本是否会快速更改以实现我想要的目标?
答案 0 :(得分:1)
使用'_self'来引用当前窗口/选项卡。有关详细信息,请参阅http://www.w3schools.com/jsref/met_win_open.asp。
$("a.eLink").click(function link(evt) {
url = evt.target.href;
if (url.toString().toLowerCase().indexOf(".gov") <= 0) {
var tk = "Do you really want to continue?";
if (confirm(tk)) {
window.open(url, 'newwin');
}
}
else
{ window.open(url, '_self'); } // open in same tab/page
return false;
});
});
// if you click yes, redirect, if no, then do nothing
if (confirm(tk)) {
window.open(url, 'newwin');
} else {
return false; // do nothing
}
答案 1 :(得分:1)
答案 2 :(得分:1)
$("a.eLink").click(function link(evt) {
url = evt.target.href;
if (url.toString().toLowerCase().indexOf(".gov") <= 0) {
var tk = "Do you really want to continue?";
if (confirm(tk)) {
window.open(url, 'newwin');
} else {
window.open(url, '_self');
}
}
else
{
window.open(url, 'newwin');
}
return false;
});