如何创建一个弹出窗口(好的一种)

时间:2008-12-09 01:15:51

标签: javascript popup window

我需要为用户创建一个弹出窗口,以便从其他网站登录我的网站。

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

由于

其他详细信息:我的弹出窗口来自任何域中iframe内的javascript代码。我知道这听起来像我正在制作广告......但实际上我不是。如果它有任何区别,iframe域和弹出域是相同的。

另外1个细节,我希望做同样的事情“Facebook Connect”确实...如果你没有登录Facebook,他们允许你通过显示弹出窗口从任何域登录到Facebook该域名的网站。例如,转到techcrunch.com上的任何文章并使用Facebook Connect进行评论。确保你已经退出Facebook,你会看到我在说什么。

5 个答案:

答案 0 :(得分: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> 

答案 1 :(得分: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>

答案 2 :(得分:0)

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

答案 3 :(得分: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>

答案 4 :(得分:-1)

如果您的用户使用的是IE,并且您的网站位于受信任的网站中,则会停用弹出窗口拦截器。

这有帮助吗?