首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

关闭模态窗口后,窗口居然跑到了其他窗口的后面

关闭模态窗口后,窗口居然跑到了其他窗口的后面 发布于 2018-02-05 05:58 更新于 2018...然而却一直有一个难缠的 BUG:当关闭模态窗口时,窗口有时会跑到其他程序窗口的后面! 而最近读到了微软工程师写过的话之后,明白了这个 BUG 的产生缘由以及解决方法。 ---- 这是什么 BUG?...弹出一个模态窗口,然后将模态窗口窗口设置为自身窗口; 切换到其他程序窗口中(比如 Windows 资源管理器窗口); 切换回此模态窗口,然后关闭这个模态窗口上。...你会发现,模态窗口关闭后,窗口并没有回到当前的顶层显示中。取而代之的,是其他程序的窗口(比如 Windows 资源管理器窗口)。...为解决兼容性问题的微软工程师默哀一分钟…… 我曾经尝试在模态子窗口关闭后激活一下窗口,但这样会导致窗口的层级闪烁一下(Windows 资源管理器会短暂地显示到我们的窗口之上)。

9.4K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    System.InvalidOperationException:“寄宿的 HWND 必须是指定的子窗口。”

    当试图在 WPF 窗口中嵌套显示 Win32 子窗口的时候,你有可能出现错误:“寄宿的 HWND 必须是指定的子窗口。”。 这是很典型的 Win32 错误,本文介绍如何修复此错误。...问题 你有可能在调试嵌入窗口代码的时候遇到错误: System.InvalidOperationException:“寄宿的 HWND 必须是指定的子窗口。”...原因和解决办法 出现此错误,是因为同一个子窗口被两次设置为同一个窗口的子窗口。...具体来说,就是 A 窗口使用 HwndHost 设置成了 B 的子窗口,随后 A 又通过一个新的 HwndHost 设置成了新子窗口。...要解决,则必须确保一个窗口只能使用 HwndHost 设置一次子窗口

    25930

    JS和JQuery获取当前元素的兄弟及等元素的方法

    parent() 或者 $("span").parent(".class") jQuery.parents(expr),类似于 jQuery.parents(expr) ,但是是查找所有祖先元素,不限于元素...对象集合中筛选出一部分,而 jQuery.find(),的返回结果,不会有初始集合中的内容,比如 $("p").find("span") ,是从 元素开始找 ,等同于 $("p span") JS...获取: var chils= s.childNodes;  //得到s的全部子节点 var par=s.parentNode;   //得到s的节点 var ns=s.nextSibling;   /...获取节点,子元素:JS的方法会比JQUERY麻烦很多,主要则是因为FF、谷歌浏览器会把你的换行也当作DOM元素:空的text元素,目前IE也是这样       原生的JS获取ID为test的元素下的子元素。

    12.5K10

    window location href页面跳转的几种用法及其延展「建议收藏」

    top.location.href;//在顶层页面打开新页面 如果页面中自定义了frame,那么可将parent、self、top换为自定义frame的名称,效果是在frame窗口打开url地址。...然而 window,open()不一定是打开新窗口 在有窗口的名称和window.open中第二个参数中的一样就会将这个窗口替换,用这个特性的话可以在iframe和frame中来代替location.href...parent.location.href=’http://www.baidu.com’; } 则c.html 跳转为百度,这就说明了”parent.location.href是上一层页面跳转”即页面跳转...top.location.href”是最外层的页面跳转(最上层) “window.location.href”、”location.href”是本页面跳转 “parent.location.href”是上一层页面跳转(...而top是指向顶级窗口对象,parent是指向窗口对象。 延展 window.location或window.open如何指定target?

    5.1K10

    layui弹出层使用方法总结

    layui的模态窗口很强大,但是使用的时候要声明很多东西,并且对于窗口之间的参数传递也没有做具体的说明,所以基于layui弹出层的api进行了一些简单的封装,使用起来更加顺手,先上代码 function...,获取传递参数 OpenDialog方法保留了一些常用参数,如标题,打开iframe页面的地址,宽,高,增加了关闭页面的回掉函数与页面之间的传递参数,打开方法通过获取顶层的layer对象,使得打开的窗口全部是基于顶层页面...,解决了在iframe中打开页面只能在iframe中显示与移动,宽高都是基于百分比打开,适应性更加灵活一些,向打开的子页面传递参数是通过向iframe增加变量存储的方式实现的,比较灵活,子页面关闭后也随之销毁...,子页面关闭后父页面的回调函数通过api中的end方法嵌套一下,如果子页面关闭时想要向页面传递数据(如表单打开选择树页面回传选项值)时,就会存储在顶级页面的layer_return变量中,因为所有页面都是声明在顶级窗口页面中的...,所以不存在什么层级关系的复杂处理,最后附上使用范例 function Edit(data) { OpenDialog("configadd", "编辑", "Frame/Config

    1.1K10

    nodeIntegrationInSubFrames | Electron 安全

    iframes iframe 在之前已经参与了很多测试了,在 web 技术中也包含,大家了解得可能已经比较透彻了 通过 iframe 的内容本身有自己独立的上下文(context),而嵌入它的网页被称为浏览上下文...在之前的一些版本中,似乎子窗口会继承窗口的一些配置,但后来主要是为了生命周期等,简单来说,我把窗口关了,子窗口也会被关闭或其他设置 该参数要在窗口初始化是配置,而不是子窗口 0x03 测试 iframe...搭建测试环境 关闭 CSP ,关闭 sandbox ,在 index.html 中嵌入 iframe main.js // Modules to control application life and...Node.js 这样以来, nodeIntegrationInSubFrames 对子窗口 Node.js 的执行就没有影响了呀,而且经过我的测试,在生命周期方面,关闭窗口,子窗口并不会跟着关闭 测试一下...并不相关,主要与窗口安全配置以及 webview 标签本身配置有关系 2.

    18710

    如何使用 JavaScript 检测用户是否启用三方 Cookie ?

    在前面的文章中我们提到,对于一些还没来得及改造完的网站,Chrome 提供了一种便捷的方式来让命中灰度的用户手动关闭这个策略: 这个开关点击后可以允许指定域名继续使用三方 Cookie ,但是这个期限只有...所以,如果大家的网站最近没有时间进行这些改造,大家可以在运行时来提示用户手动关闭三方 Cookie 的禁用策略。...虽然这听起来挺奇怪的,我们好像无法直接通过 iFrame 调用页面的功能。...在这个函数中,我们添加一个消息事件监听器,这个监听器会在从父应用程序调用时触发。...return let result = checkCookiesEnable(); // 将结果通过消息事件发送到窗口

    37810

    Selenium自动化爬虫

    常用操作 浏览器方法 浏览器方法 作用 browser.get(url) 请求url browser.quit() 关闭浏览器 browser.close() 关闭当前页面 browser.page_source...获取源码 browser.page_source.find(‘keyword’) 在源码中查找 browser.maximize_window() - 浏览器窗口最大化 窗口最大化 节点操作: 节点操作...Selenium 打开页面后,默认是在 Frame 里面操作,如果页面中还有子 Frame,Selenium 是不能获取到子 Frame 里面的节点的。...执行Js 页面进度条下拉操作: 京东商城的爬取案例中会用到 browser.execute_script( 'window.scrollTo(0,document.body.scrollHeight)'...无头模式 如果你觉得每次运行代码弹出来的浏览器窗口太烦人,那么不妨试一下Selenium的无头模式,即不会弹出浏览器窗口

    1.2K30
    领券