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

Javascript 如何创建弹出窗口(好的一种),javascript,popup,window,Javascript,Popup,Window,我需要做一个弹出窗口,让用户从其他网站登录到我的网站 我需要使用一个弹出窗口向用户显示地址栏,以便他们知道这是一个安全登录,而不是欺骗。例如,如果我使用浮动iframe,网站可能会欺骗我的登录窗口并记录用户的登录信息 谢谢 其他详细信息:我的弹出窗口将来自任何域的iframe中的javascript代码。我知道这听起来像是我在做广告。。但实际上我不是。如果有区别,iframe域和弹出域是相同的 1更多细节,我希望做“Facebook连接”做的同样的事情。。。如果你没有登录到facebook,他们

我需要做一个弹出窗口,让用户从其他网站登录到我的网站

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

谢谢

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


1更多细节,我希望做“Facebook连接”做的同样的事情。。。如果你没有登录到facebook,他们允许你通过在任何域的网站上显示一个弹出窗口从该域登录到facebook。例如,访问techcrunch.com上的任何文章,使用Facebook Connect发表评论。确保您已注销facebook,您将看到我在说什么。

如果您的用户正在使用IE,并且您的站点位于受信任的站点中,则弹出窗口阻止程序将被停用

这有用吗?

看看

从中复制的一些代码:

<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> 

Sean示例很好,但您仍然可以通过以下方式检测弹出窗口是否被阻止:

<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>


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

这是创建弹出窗口的方法

<!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>

打开“我的窗口”
关闭“我的窗口”
var-myWindow;
函数openWin(){
myWindow=window.open(“,”myWindow“,”宽度=200,高度=100”);
myWindow.document.write(“这是‘myWindow’

”); } 函数closeWin(){ myWindow.close(); }
看来这就成功了。知道这是否会被阻止吗?或者我还好吗,因为iframe域和弹出窗口的域是相同的……当我查看示例时,我注意到一个可能的问题是,它是在一个新选项卡中打开的,而不是在一个新窗口中打开的,因为我将Firefox设置为强制新窗口作为新选项卡打开。然而,Firefox的弹出窗口拦截器并没有对此采取任何措施。唯一确定的方法是测试。我在FF2中选中了相同的选项,它会弹出窗口。你能在这里测试一下弹出窗口吗:(facebook连接演示网站)点击“连接”按钮吗?@Sam它在一个新的标签中弹出,很好,但是它会缩小我的浏览器。我猜您可能正在尝试缩小窗口以适应,但由于它在新选项卡中打开,它继续缩小我的整个浏览器。谢谢您的建议。我编辑了我的示例,将其包括在内。+1,因为您的案例确实需要一个弹出窗口。