弹出窗口在我们的应用程序上被阻止,但在其他应用程

时间:2014-08-09 20:31:41

标签: javascript popupwindow

我注意到我的应用程序阻止了我的共享弹出窗口而不是其他人。

以下是代码执行:

1。)用户进入网页。

2。)用户点击facebook或twitter或googleplus分享图标

3.。)onclick事件将请求传递给内部控制器,内部控制器保存一些信息,然后重定向回原始网页。但是,这次有一个请求参数,用于调用打开新窗口的用法。

我调用的代码打开一个新窗口(对于这个例子我们将使用facebook):

var url = 'https://www.facebook.com/sharer/sharer.php?u='+copyLink;
window.open(url,'newwindow','width=600,height=600');

现在,如果我启用弹出窗口,它可以正常工作。问题是用户每次都必须启用弹出窗口。

是服务器问题吗?是什么原因导致其他应用程序没有阻止弹出窗口,但对于我们的应用程序,我们无法在不启用弹出窗口的情况下使用弹出窗口

非常感谢任何帮助。

1 个答案:

答案 0 :(得分:0)

根据我的理解,您的应用程序会尝试在页面加载后打开一个弹出窗口。 nytimes.com弹出窗口响应鼠标点击而出现。

打开弹出窗口的这两种方式之间有一个重要的区别:后者遵循用户启动的操作,但前者没有。因此,弹出窗口拦截器通常会阻止前者而不是后者。如果在点击按钮时打开弹出窗口,很多用户都不会感到惊讶,但如果在加载页面时出现弹出窗口,他们会更加恼火。您的弹出窗口最终是由另一个页面上的操作触发的事实并不重要 - 如果您手动向URL添加打开弹出窗口的额外参数会发生什么?

弹出窗口拦截器上的

Here's an old page on MSDN。它可以描述IE6(所有浏览器中)的弹出窗口阻止程序,但我认为它仍然提供弹出窗口阻止程序通常允许或阻止弹出窗口的合理解释。

在回拨服务器之前,是否可以为您的共享对话框打开弹出窗口?我希望在onclick处理程序中打开弹出窗口可以正常工作而无需显式允许弹出窗口。