首先,我们需要了解默认的alert事件在弹出框的Title中会显示网页的URL地址,这个是浏览器的安全特性,为了避免一些恶意的网站仿冒其他网站并强制弹出alert弹框,但是对于一些需要弹框并希望Title中不显示网址的情况,我们可以通过JS代码来实现。
以下是完整的攻略过程:
步骤一:创建自定义的弹框函数
首先,我们需要创建一个自定义的弹框函数,可以将其命名为 newAlert 或者其他名字,函数中通过创建一个div,代替原始的 alert 弹窗,并将函数的 title 参数和 message 参数再创建新的自定义弹框中。
function newAlert(title, message){
let alertContainer = document.createElement("div");
alertContainer.innerHTML = `
<div class="alert-title">${title}</div>
<div class="alert-message">${message}</div>
<button onclick="hideAlert()">OK</button>
`;
alertContainer.id = "newAlertContainer";
document.body.appendChild(alertContainer);
}
上面代码中使用HTML,创建了一个类似于弹框的 HTML 结构,并将 Title 和 Message 分别插入到相应的 div 中。
步骤二:创建自定义的隐藏函数
在自定义的弹框函数中添加一个隐藏函数 hideAlert(),用来隐藏自定义的弹框。
function hideAlert(){
let alertContainer = document.getElementById("newAlertContainer");
alertContainer.style.display = "none";
}
上面代码中,使用DOM的方式获取元素并设置其CSS属性来隐藏 alert 弹窗。
步骤三:重写原生 alert 事件
利用了JS中函数完全可以像普通变量一样被赋值的特性,我们可以直接把我们定义的 newAlert 函数赋值给原生的 alert 函数。
window.alert = newAlert;
将上面代码放在需要alert弹框的JS代码前,这样在执行alert语句时,就会调用我们定义的newAlert弹框函数,而不是原生的alert函数。
示例说明
下面提供两个示例帮助理解
示例一:简单的提示信息弹框
window.alert = newAlert;
alert("提示:提交数据成功");
上面代码中,我们使用重写后的 alert 弹框来弹出一个简单的提示信息,title 标题显示的是默认的"Alert",message 因为是自定义的,所以我们可以将其任意赋值,比如上面的"提交数据成功"。
示例二:自定义按钮行为的弹框
window.alert = newAlert;
alert("提示:点击确定按钮跳转到首页", function(){
window.location.href = "https://www.example.com";
});
上面代码中,我们在第二个参数中添加了一个匿名函数,这个匿名函数会在用户点击确定按钮时执行,这里就利用了JavaScript回调函数的特性,实现了对用户操作反馈的响应。在实际业务中,可以根据不同的需求和场景编写相应的回调函数。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:js重写alert事件(避免alert弹框标题出现网址) - Python技术站