Javascript 离开现场时使用确认方法
我希望在点击外部链接时弹出确认消息。尽管它不想成功。当我点击外部链接时,我没有得到确认弹出窗口。有什么解决办法吗 Javascript代码Javascript 离开现场时使用确认方法,javascript,html,hyperlink,confirm,Javascript,Html,Hyperlink,Confirm,我希望在点击外部链接时弹出确认消息。尽管它不想成功。当我点击外部链接时,我没有得到确认弹出窗口。有什么解决办法吗 Javascript代码 function warning(){ var warning = confirm('Do you want to leave'); if(!warning){ alert("Staying on site"); return false; } else { alert("Leaving site");
function warning(){
var warning = confirm('Do you want to leave');
if(!warning){
alert("Staying on site");
return false;
} else {
alert("Leaving site");
return true;
}
}
function init() {
var warn = document.getElementsByTagName("ul");
for(i=0; i<warn.length; i++)
if(warn[i].className == "meny"){
var link = document.getElementsByTagName("li");
}
for(i=0; i<link.length; i++){
var links = document.getElementsByTagName("a");
if(links[i].className == "external"){
links.onclick = warning;
}
}
}
函数警告(){
var warning=确认(“您想离开吗”);
如果(!警告){
警惕(“留在现场”);
返回false;
}否则{
警报(“离开现场”);
返回true;
}
}
函数init(){
var warn=document.getElementsByTagName(“ul”);
对于(i=0;i此行为只能通过处理onbeforeunload
事件来完成。您的处理程序应返回一个字符串,这是向用户显示的消息。一个简单的示例:
window.onbeforeunload = function () {
return 'are you sure you want to leave?';
};
此行为只能通过处理onbeforeunload
事件来完成。处理程序应返回一个字符串,这是向用户显示的消息。一个简单的示例:
window.onbeforeunload = function () {
return 'are you sure you want to leave?';
};
我建议您稍微修改一下代码:
function init() {
var warn = document.getElementsByTagName("ul");
for(i=0; i<warn.length; i++)
if(warn[i].className == "meny"){
var link = document.getElementsByTagName("li");
}
var links = document.getElementsByTagName("a");
for(i=0; i<link.length; i++){
if(links[i].className == "external"){
links.external = true;
}
}
}
请注意,这一行:
var links = document.getElementsByTagName("a");
必须在循环之外。我建议您稍微修改一下代码:
function init() {
var warn = document.getElementsByTagName("ul");
for(i=0; i<warn.length; i++)
if(warn[i].className == "meny"){
var link = document.getElementsByTagName("li");
}
var links = document.getElementsByTagName("a");
for(i=0; i<link.length; i++){
if(links[i].className == "external"){
links.external = true;
}
}
}
请注意,这一行:
var links = document.getElementsByTagName("a");
必须在循环之外。通常,您需要删除href并将其替换为“#”,然后使用js手动将它们发送到那里。这是唯一可靠的方法,可以在href之前弹出。对于编辑器窗口和其他内容,您还可以在关闭时将其激活。对于非内部网页,这不是一个好的做法,不过,一般来说,你需要删除href并将其替换为“#”,然后使用js手动将它们发送到那里。这是唯一可靠的方法,可以让弹出窗口在href之前出现。对于编辑器窗口和其他东西,你也可以让它在关闭时启动。不过,对于非内部网页来说,这不是好的做法。我会尝试一下,谢谢你的回答!谢谢,这样你可以选择何时显示或不显示弹出消息。基本上你可以用一个私有属性标记你的锚,然后检查它们是否是外部链接。当检查为阳性时,通过onbeforeunload显示确认。我会这样做,它似乎正在工作。几乎完成了。谢谢!谢谢,我那么,我可以请你选择我的答案更正确吗?然后…你找到了有用的答案吗?我会尝试一下,谢谢你的答案!谢谢,这样你可以选择何时显示或不显示弹出消息。基本上你可以用私有属性标记你的锚,然后检查它们是否是外部链接。当检查为阳性时,s如何通过onbeforeunload进行确认。我会这样做,它似乎正在工作。几乎完成了。谢谢!谢谢,如果是,我可以请您选择我的答案作为更正确的答案吗?然后…您找到有帮助的答案了吗?