2008-12-09 100 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>