2008-12-09 102 views
3

我需要弹出一个窗口供用户从其他网站登录到我的网站。如何创建一个弹出窗口(好样的)

我需要使用弹出窗口向用户显示地址栏,以便他们知道这是一个安全的登录名,而不是恶搞。例如,如果我使用浮动iframe,网站可能会欺骗我的登录窗口并记录用户的登录信息。

感谢

的更多细节:我弹出将来自javascript代码在任何域中的iframe中。我知道这听起来像我正在创造广告..但我真的不是。如果它有什么不同,iframe域和弹出域是相同的。

1个更多详情,我期待着做同样的事情“Facebook连接”不会...如果您未登录Facebook,它们允许您通过显示弹出窗口从任何域登录Facebook在该域名的网站上。例如,转到techcrunch.com上的任何文章并使用Facebook Connect发表评论。确保你从Facebook注销,你会看到我在说什么。

+0

1,因为确实你的情况值得弹出。 – 2012-09-02 07:01:22

回答

4

看看this site.

一些代码,从中复制:

<script language="javascript" type="text/javascript"> 
<!-- 
function popitup(url) { 
    newwindow=window.open(url,'name','height=200,width=150'); 
    if(!newindow){ 
     alert('We have detected that you are using popup blocking software...');} 
    if (window.focus) {newwindow.focus()} 
    return false; 
} 

// --> 
</script> 

你链接到它:

<a href="popupex.html" onclick="return popitup('popupex.html')">Link to popup</a> 
+0

看起来像这样做的伎俩。知道这是否会被阻止?或者我可以,因为iframe域和弹出域是相同的... – Sam 2008-12-09 01:27:50

+0

当我看例子时,我注意到的一个可能的问题是,它在新标签中打开而不是新窗口,因为我Firefox设置为强制新窗口作为新标签打开。但是,Firefox的弹出式窗口拦截器没有做任何事情。要知道的唯一方法就是测试。 – Sean 2008-12-09 01:48:22

-1

如果您的用户正在使用IE浏览器,并且您的网站位于受信任的站点中,则弹出式窗口拦截器将被停用。

这有帮助吗?

+0

不幸的是没有。 – Sam 2008-12-09 01:20:43

1

肖恩的例子是很好的,但你仍然可以检测如果弹出窗口被以下方式阻止:

<script language="javascript" type="text/javascript"> 
<!-- 
function popitup(url) { 
newwindow=window.open(url,'name','height=200,width=150'); 
if(!newwindow){ 
alert('We have detected that you are using popup blocking software...');} 

if (window.focus) {newwindow.focus()} 
return false; 
} 

// --> 
</script> 
0

弹出窗口阻止程序不会在显式用户操作(如链接或按钮单击)下呈现时生效。即使您的浏览器配置了弹出窗口阻止,Facebook连接窗口仍然呈现。那是因为连接按钮被用户点击。即使当前网站的域名和弹出窗口中的网站有所不同,也没关系。

0

这是如何创建一个弹出式窗口..

<!DOCTYPE html> 
<html> 
<body> 

<button onclick="openWin()">Open "myWindow"</button> 
<button onclick="closeWin()">Close "myWindow"</button> 

<script> 
var myWindow; 

function openWin() { 
    myWindow = window.open("", "myWindow", "width=200,height=100"); 
    myWindow.document.write("<p>This is 'myWindow'</p>"); 
} 

function closeWin() { 
    myWindow.close(); 
} 
</script> 

</body> 
</html>