js重写alert事件(避免alert弹框标题出现网址)

yizhihongxing

首先,我们需要了解默认的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技术站

(0)
上一篇 2023年6月9日
下一篇 2023年6月9日

相关文章

  • CSS样式的分类介绍(基础知识)

    下面是详细的“CSS样式的分类介绍(基础知识)”攻略。 一、CSS样式的分类 在CSS中,样式可以分为三种类型:内联样式、内部样式表和外部样式表。 1. 内联样式 内联样式即在HTML元素中添加样式属性,如下所示: <p style="color: red;">这是一段红色的文本</p> 内联样式是较为简单的CSS…

    css 2023年6月9日
    00
  • 详解使用HTML5的classList属性操作CSS类

    下面是使用HTML5的classList属性操作CSS类的完整攻略。 什么是classList属性 classList属性是HTML5中新增加的操作CSS类的属性。它可以让我们方便地对元素的class属性进行增、删、改、查等操作。 使用classList属性的常用方法 add 方法:增加CSS类 element.classList.add(className…

    css 2023年6月9日
    00
  • 详解css清除浮动float的七种常用方法总结和兼容性处理

    关于“详解css清除浮动float的七种常用方法总结和兼容性处理”的攻略,我将会从以下几个方面进行讲解: 什么是浮动(float)? 为什么需要清除浮动? 清除浮动的常用方法: 使用空元素清除浮动 使用父元素清除浮动 使用父元素设置overflow属性值为hidden/clearfix 使用CSS伪类:after清除浮动 使用CSS框架清除浮动 使用CSS属…

    css 2023年6月10日
    00
  • BootStrap栅格系统、表单样式与按钮样式源码解析

    我来详细讲解一下“Bootstrap栅格系统、表单样式与按钮样式源码解析”的攻略。 Bootstrap栅格系统 Bootstrap栅格系统是用于在不同屏幕宽度下,将页面分成不同的列和行。通过栅格系统可以轻松地实现响应式布局,让页面在不同的设备上达到良好的展示效果。Bootstrap栅格系统基于12个列,在页面上可以实现等宽或不等宽的布局。 栅格系统的基本语法…

    css 2023年6月10日
    00
  • 对CSS3选择器的研究(详解)

    对CSS3选择器的研究(详解) 1. CSS3选择器简介 CSS3选择器是描述样式如何应用于HTML文档中不同元素的一种机制。选择符使HTML文档和样式表关联在一起。选择器用于选择您希望应用样式表规则的HTML元素。 2. CSS3选择器分类 CSS3选择器主要分为以下几类: 2.1 元素选择器 最常用的选择器,通过元素名称选取HTML文档中的元素。例如: …

    css 2023年6月9日
    00
  • CSS伪类和伪元素的区别详解

    首先我们需要了解“CSS伪类”和“CSS伪元素”的概念。 什么是CSS伪类? CSS伪类是一种用于选择HTML元素特定状态的CSS选择器。伪类通常以冒号(:)作为开头,常用的伪类有:hover、:active、:focus等。 例如,以下代码将在鼠标经过链接时改变链接文字颜色: a:hover{ color: red; } 什么是CSS伪元素? CSS伪元素…

    css 2023年6月10日
    00
  • 手机端图片缩放旋转全屏查看PhotoSwipe.js插件实现

    要实现手机端图片缩放、旋转、全屏查看,可以使用PhotoSwipe.js插件。下面是详细的攻略步骤: 1. 引入PhotoSwipe插件 首先,在你的网站中引入PhotoSwipe插件的CSS和JS文件。可以从官方网站上下载最新版本:https://photoswipe.com/ <link rel="stylesheet" hre…

    css 2023年6月10日
    00
  • CSS动态渐变色边框围绕内容区域旋转的效果(实例代码)

    CSS动态渐变色边框围绕内容区域旋转的效果是一种非常炫酷的效果,它可以通过CSS的两个属性实现:border-image和animation。 border-image border-image属性用于设置边框的图片,可以用来实现各种复杂的边框效果。它有以下几个属性: source:指定边框图片的URL路径。 slice:指定边框图片的切片方式,可分为属性值…

    css 2023年6月10日
    00
合作推广
合作推广
分享本页
返回顶部