现代浏览器是否会阻止 发布于 2024-11-06 13:21:43 字数 144 浏览 1 评论 0 原文
我想弹出一个窗口供人们分享到 Facebook。
做到这一点的唯一方法是通过 javascript。 (弹出一个小窗口宽度=400,高度=200)
Chrome/IE/Google 弹出窗口拦截器会阻止这个吗?
如何绕过它?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
现代浏览器不会阻止您尝试执行的操作。
所有现代浏览器都实施了阻止弹出窗口的技术。这意味着所有 window.open 调用都必须在单击事件处理程序内,或在所述处理程序调用的函数内。只要您创建一个弹出窗口来响应用户操作,就应该没问题。
如果您在 dom 加载后或短暂延迟后尝试调用 window.open(例如:setTimeout(50, window.open())),那么它将被阻止。
Modern browsers will not block what you're attempting to do.
All modern browsers do implement tech to block popups. What this means is all window.open calls must be within a click event handler, or within a function called by said handler. As long as you are creating a pop up in response to a user action you should be fine.
If you are attempting to call window.open as soon as the dom is loaded, or after a short delay (example: setTimeout(50, window.open())) then it will be blocked.
不要使用弹出窗口 - 使用 javascript 模式窗口,如果合适的话,href 指向真实内容。
对于大多数用户来说,弹出窗口非常烦人。
Don't use popups – use a javascript modal window, with the href pointed to real content if appropriate.
For most users, popups are very annoying.