离开站点时使用确认方法
using the confirm method when 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;
}
}
}
网页代码:
<ul class="meny"">
<li><a class="external" href="https://www.mah.se">Mah</a></li>
<li><a class="external" href="https://www.google.se/">Google</a></li>
<li><a class="external" href="http://www.facebook.com/">Facebook</a></li>
<li><a class="external" href="http://www.youtube.com/">Youtube</a></li>
<li><a href="#">Digitalt</a></li>
<li><a href="#">Kultur</a></li>
<li><a href="#">Nöje</a></li>
<li><a href="#">Sport</a></li>
<li><a href="#">Familj</a></li>
<li><a href="#">Resor</a></li>
<li><a href="#">Inrikes</a></li>
<li><a href="#">Utrikes</a></li>
<li><a href="#">Jobb</a></li>
</ul>
此行为只能通过处理 onbeforeunload
事件来完成。处理程序应返回一个字符串,即向用户显示的消息。一个简单的例子:
window.onbeforeunload = function () {
return 'are you sure you want to leave?';
};
http://jsfiddle.net/rHkfM/
我可以建议稍微修改一下你的代码:
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;
}
}
}
然后添加:
window.onbeforeunload = function (event) {
if (event.srcElement.external)
return 'are you sure you want to leave?';
};
请注意,这一行:
var links = document.getElementsByTagName("a");
必须在循环之外。
相关文章:
- electronic BrowserWindow的最小高度和宽度在hide()show()方法之后不起作用
- 有没有任何方法可以将控制器从文件加载到ui路由器$stateProvider中
- 数组在递归方法中设置为null
- 打破承诺链的好方法是什么
- 如何为javascript方法放入jquery确认对话框
- 对象不支持属性或方法“确认”
- 提交表单前使用确认对话框的正确方法
- 在浏览器关闭时,单击确认对话框中的“停留在页面上”,执行一个方法
- 正在寻找特定的JS方法来确认单选按钮的选择
- 是否有任何方法可以在单击“加载前确认”对话框的“确定”按钮后执行某些操作
- 如何在代码隐藏上使用 javascript 确认方法
- link_to :方法并确认:不起作用
- 分机.js确认方法添加新行字符
- javascript可以从一个单独的方法监听确认对话的结果
- 是否有一个简单的方法来改变确认和警报在这个页面.间谍摩卡的例子
- 如何运行SweetAlert而不是默认的javascript确认方法
- JS确认后执行post方法
- 是否有其他参数可以传递给Javascript原生确认/警报方法?
- 离开站点时使用确认方法
- 如何在javascript中触发一个类的密码确认方法,每次调用其他方法之一