javascript消除window.close()的提示窗口

要消除window.close()的提示窗口,我们需要了解以下几点:

  1. 当前窗口和弹出窗口必须为同一域名或者同源,否则无法关闭弹出窗口;
  2. 浏览器的安全策略会对window.close()进行限制。只有在窗口是由脚本打开的,才能使用window.close()关闭窗口。

下面我们来讨论在不弹出提示框的情况下,如何使用JavaScript关闭窗口。

方法一:使用window.opener

在打开弹出窗口的脚本中,我们可以将这个窗口的window对象存储在当前窗口的window对象中,使用window.opener可以获取到这个对象。要关闭弹出窗口,我们只需要在弹出窗口中调用window.opener.close()即可。

示例1:

在当前页面中打开弹出窗口:

var popup = window.open('popup.html', 'popup', 'width=320,height=240');

// 把window对象存储到当前的window.opener中
window.popup = popup;

在弹出窗口的脚本中调用window.opener.close()来关闭弹出窗口:

// 关闭window.opener,即当前窗口
window.opener.close();

方法二:使用window.parent

在打开弹出窗口的脚本中,我们可以将这个窗口的window对象存储在当前窗口的window对象中,使用window.parent可以获取到这个对象。要关闭弹出窗口,我们只需要在弹出窗口中调用window.parent.close()即可。

示例2:

同样在当前页面中打开弹出窗口,并把当前窗口的window对象存储到父窗口的window对象中:

var popup = window.open('popup.html', 'popup', 'width=320,height=240');
window.parentPopup = window;

在弹出窗口的脚本中调用window.parent.close()来关闭弹出窗口:

// 关闭window.parent,即父窗口
window.parent.close();

以上是两种常用的消除window.close()提示框的方法。但需要注意的是,由于浏览器的安全限制,这些方法并不适用于所有浏览器和所有情况。在使用时应根据具体情况做出决定。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:javascript消除window.close()的提示窗口 - Python技术站

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

相关文章

  • 微信小程序保持session会话的方法

    下面我将为你详细介绍微信小程序保持 session 会话的方法。 什么是 session session 是指客户端和服务器之间的交互状态,可以理解为身份验证或登录状态的一种维持方式。常见的维持 session 的方法有 cookie 和 token。 微信小程序 session 微信小程序中,可以通过 wx.request 方法向服务器发送请求并维持 se…

    JavaScript 2023年6月11日
    00
  • JavaScript常用标签和方法总结

    针对这个话题,我准备了以下完整攻略。 JavaScript常用标签和方法总结 标签 在JavaScript中,我们通常使用以下标签: \<script> – 嵌入JavaScript代码的标签,可以放在HTML的\<head>或\<body>中。 \<button> – 创建一个按钮元素,可以用JavaScri…

    JavaScript 2023年5月18日
    00
  • 微信小程序 教程之事件

    以下是关于“微信小程序教程之事件”的详细攻略: 什么是小程序事件 微信小程序中,我们可以使用事件来监听用户的操作,并根据用户操作来触发我们程序中的相应的行为。小程序中常见的一些事件如下: touchstart、touchmove、touchend:触摸事件,可以监听用户触摸屏幕的动作; tap、longpress、longtap:点击事件,可以监听用户单击、…

    JavaScript 2023年6月11日
    00
  • JS 面向对象的5钟写法

    下面我来详细讲解一下“JS 面向对象的5种写法”的完整攻略。 前言 在JavaScript中,常用的面向对象的写法有5种,分别是原型链、Class、工厂模式、构造函数和混合模式。下面我们来分别介绍这五种写法。 1. 原型链 在JavaScript中,每个对象都有一个原型(也就是一个或者多个prototype)。使用原型链实现的继承是通过将一个类型的实例设置为…

    JavaScript 2023年5月27日
    00
  • js实现小球在页面规定的区域运动

    实现小球在页面规定的区域运动,需要用到JavaScript语言实现动态效果。 具体的步骤和示例说明如下: 首先,需要在html代码中添加一个用于显示小球的div标签,类似如下代码: <div id="ball" style="position:absolute; width:20px; height:20px; borde…

    JavaScript 2023年6月11日
    00
  • 在支持HTML5的浏览器上运行WebGL程序的方法

    在支持HTML5的浏览器上运行WebGL程序,需要经过以下步骤: 步骤一:检查浏览器是否支持WebGL 在运行WebGL程序之前需要检查浏览器是否支持WebGL。可以通过以下代码进行检查: function detectWebGL() { if (!window.WebGLRenderingContext) { // 浏览器不支持WebGL return f…

    JavaScript 2023年6月11日
    00
  • js调用AJAX时Get和post的乱码解决方法

    这里是 “js调用AJAX时Get和post的乱码解决方法”的完整攻略,我们将分为以下几个步骤: 确认乱码问题 解决Get请求的乱码问题 解决Post请求的乱码问题 接下来详细讲解: 1. 确认乱码问题 首先在实际开发时遇到乱码问题时,需要确认到底是AJAX请求出现了乱码,还是服务器返回了乱码,这是解决问题的第一步。 可以通过Chrome浏览器的开发者工具,…

    JavaScript 2023年5月19日
    00
  • 如何使Chrome控制台支持多行js模式——意外发现

    下面是讲解“如何使Chrome控制台支持多行js模式——意外发现”的完整攻略: 1. 问题描述 当我们在Chrome控制台输入多行的JavaScript代码时,按下回车键后会将当前行代码执行。如果我们输入多行代码,需要将所有输入的代码都复制到单行去将它们一起执行。这不仅耗时,操作起来也不太方便。那么有没有办法支持多行JavaScript模式呢? 2. 解决方…

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