问题标签 [popup-blocker]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
facebook - Facebook 应用程序,在用户墙上发布的对话,使用 Javascript API,在浏览器中阻止弹出窗口
我正在使用 JS-API 生成一个对话框,请求允许发布我的应用程序生成的状态消息。下面是我正在谈论的屏幕截图:
这是代码:
我使用文档中所述的示例 JS 代码,如果在浏览器设置中没有阻止弹出窗口,它会很好地工作。但是如果没有显示状态消息,则该应用程序没有实用程序!
请帮忙; 我被困在最后一个阶段。
asp.net - ASP .Net 动态渲染 PDF 后,无法换页
我有一个页面,用户可以在其中输入一些信息。在页面底部有一个被禁用的复选框,表示他们已阅读要显示的 PDF。他们点击动态呈现 PDF 并由用户下载的链接。下载 PDF 后,会发出 Response.End(),这意味着在页面上无法进行任何其他操作。我希望能够在发送 PDF 后启用该复选框。
我尝试将数据保存到会话中,打开一个新窗口,并使用会话数据从该新窗口发送 PDF。但是,IE 弹出窗口阻止程序会阻止它。
有任何想法吗?
.net - 如何防止 IE7 文件下载弹出窗口阻止程序出现在 ASP.NET 应用程序中
我在 .NET 中有一个应用程序,允许用户通过单击下载按钮下载文档 (.rtf),然后打开保存/打开对话框。它可以在 IE6 和 8 中工作。但是,在IE7中,当点击按钮时,网页顶部会显示一个弹出窗口阻止程序,用户必须点击阻止程序,然后单击下载文件菜单才能下载文件。一旦我单击阻止程序和其中的下载菜单,阻止程序将不会再次出现。但是,如果我关闭 IE7 窗口,然后再次开始下载过程,阻止程序重复。
如果可能,如何防止 IE7 文件下载弹出窗口阻止程序出现在编程端的 ASP.NET 应用程序中,而不是在 IE 中进行设置。
它似乎与 HTTP 标头或内容类型有关?理想的解决方案是阻止程序永远不会像在其他浏览器中那样出现在 IE7 中。
它甚至发生在本地主机中。有趣的是,当单击 HTML archor 链接下载其他文件时,阻止程序不会出现。
拦截器上的消息如下:
为了帮助保护您的安全,Internet Explorer 阻止此站点将文件下载到您的计算机。单击此处获取选项。下载文件 ...
经过调查,发生的情况是在发送文件下载的url请求之前,向服务器发送了一个put操作(保存文件下载前的更改),这会触发IE7安全阻止程序。我想知道任何解决方法,以及可能的原因。
javascript - Chrome 弹出窗口“拦截器”加载隐藏页面和插件 - 有什么办法吗?
如果我启动一个包含 Flash 游戏的窗口,并且 Chrome 的弹出窗口阻止程序将其抑制,则用户会听到游戏中的音乐,但什么也看不到。这是因为 Chrome 不会阻止窗口;它只是隐藏它。
Chrome 加载页面以获取网站图标和页面标题,因此他们可以在弹出窗口阻止程序对话框中显示它(单击地址栏中的图标时会看到该对话框)。但是他们并没有关上窗户。插件运行,脚本可以回调打开器 - 它就像一个常规窗口,但不可见。(好的,恶意软件开发人员,请停止流口水。)
Chrome 可以解析 <head> 标记的内容以检索 <title> 和 favicon <link/> 标记,而无需实际加载页面。他们可以在检索到图标/标题后关闭隐藏窗口。他们可以只显示 URL 而不是图标/标题。相反,该错误自 2008 年以来继续恶化……
http://code.google.com/p/chromium/issues/detail?id=3477
http://code.google.com/p/chromium/issues/detail?id=38458
无论如何,问题是:我能检测到这种情况何时发生吗? 也许 window.chrome JavaScript 对象中有一些东西表明窗口处于这种不可见状态,所以我可以关闭它或移除闪光灯?
__
根据 Prusse 的回答,这就是我最终得到的结果......
所以我可以做类似的事情......
javascript - window.open() and target="_blank" not working together in IE
The thing is — if you have links with target="_blank" and you have handler for click on this link that makes window.open(), then pop window that was called with JS will be shown, but the link will be not open in new tab in IE (9 version was tested for sure), it will be blocked by IE popup blocker.
All other browsers open both — a link in new tab and a pop window. Any workaround?
asp.net - 如果我只想*有时*打开一个新窗口,我可以避免进行同步回调吗?
在这种情况下:
- 用户在文本框中输入一些信息
- 用户单击按钮
- 输入信息的服务器端处理发生
- 根据服务器端处理的结果,要么打开一个新窗口,要么在当前页面上显示一条消息(并且没有弹出窗口)
async: false
除了在 jQueryajax
调用中使用之外,我无法想出其他方法,强烈建议不要这样做:
强烈建议不要将此选项设置为 false(从而使调用不再是异步的),因为它可能导致浏览器无响应。
我试过了:
- 使调用异步并在回调处理程序中,具体取决于服务器所说的内容,有时会打开一个新窗口-这会被弹出窗口阻止程序阻止
- 另一个想法,由于它的不愉快,我什至没有打扰,是总是打开一个窗口,正是这个新窗口调用服务器,有时会自行关闭(以某种方式更新父级中的文本)
我已经确定的是我上面描述的内容:在点击处理程序中,执行同步服务器调用,如果服务器要求这样做,则打开一个新窗口。弹出窗口拦截器对此很满意,因为窗口打开是在点击处理程序中完成的。但...
类似(但不重复,因为我并不总是想打开一个新窗口)问题没有提供一个很好的解决方案:
google-chrome - Google Chrome 中的弹出窗口阻止导致 Capybara/Rspec 测试出现问题
我正在使用 Capybara/RSpec 编写一些自动化测试,我通过使用一点点 ruby 来选择/配置驱动程序:
我正在测试我单击的按钮是否正在打开一个弹出窗口,并且该窗口是否正在显示它应该显示的内容。问题是当测试打开窗口时,谷歌浏览器弹出窗口阻止程序会阻止它,导致测试失败。从选项菜单禁用阻止程序不起作用。另外,我担心一旦我在服务器上运行它们会导致同样的问题。
有没有办法自动禁用测试的弹出块?
javascript - 弹出窗口阻止问题(这不应该发生吗?)
首先澄清一下,我试图打开一个弹出窗口以响应用户事件。
我正在 Facebook 上开发一个涉及电子商务交易的应用程序,由于与我的 EV SSL 证书相关的原因,我必须在一个新的、完全安全的窗口中打开我们的计费终端。因此,该过程如下:
- 用户选择“新卡”作为付款方式并输入收件人的收货地址
- 用户单击“下订单”,它使用 AJAX 调用来验证地址,如果有效,则将其与数据库同步。
- 如果地址有效(AJAX 成功:function()),并且用户选择了“新卡”,则应该使用 window.open 调用打开安全计费终端。
据我了解,包括 Chrome、Firefox 和 Safari 在内的大多数现代浏览器都应该遍历链以确定源事件是否是用户启动的(在这种情况下,它是一个点击事件),但是尽管如此,我似乎无法阻止此弹出窗口被阻止,并且我的用户在弄清楚发生了什么时遇到了很多麻烦。
不幸的是,当弹出窗口被阻止时,Chrome 并没有让它变得那么明显,所以大多数用户不会注意到这一点,并且会认为应用程序只是“坏了”。
有任何想法吗?距离发布还有一周的时间,我越来越绝望了……
[编辑] 这是供参考的代码:
和 newGroupOrderActions.payWithCard()...
jquery - 设置 JQuery event.preventDefault() 时绕过 window.open 上的弹出窗口阻止程序
我想在超链接的点击事件上有条件地显示一个 JQuery 对话框。
我有一个要求,例如在条件 1 上打开一个 JQuery 对话框,如果不满足条件 1,请导航到其点击事件有问题的“href”标签所引用的页面。
我可以在链接的点击事件上调用一个函数。这个函数现在通过执行另一个 URL(执行我的 Spring 控制器并返回响应)来检查上述条件。
只有 window.open 被弹出窗口阻止程序阻止,所有工作都很完美。
如果我e.preventDefault();
从代码中删除,弹出窗口阻止程序不会阻止页面,但是对于条件 1,它会打开对话框并打开“href”页面。
如果我解决了一个问题,就会给另一个问题带来问题。我无法同时为这两种情况伸张正义。
你能帮我解决这个问题吗?
一旦解决了这个问题,我还有另一个问题要解决,即对话的 OK 事件导航:)
javascript - 绕过弹出窗口拦截器
我在我的网站中使用弹出窗口进行私人聊天。由于某种原因,我无法使用对话框。有什么方法可以阻止弹出窗口阻止程序阻止我的弹出窗口?
我认为这段代码很有用,但我不知道如何使用它。