2008-12-09 3 views
3

J'ai besoin de faire une fenêtre pop-up pour les utilisateurs de se connecter à mon site Web à partir d'autres sites Web.Comment créer une fenêtre pop-up (le bon type)

J'ai besoin d'utiliser une fenêtre pop-up pour montrer à l'utilisateur la barre d'adresse afin qu'il sache qu'il s'agit d'une connexion sécurisée, et non d'une usurpation d'identité. Par exemple, si j'utilise un iframe flottant, les sites Web pourraient usurper ma fenêtre de connexion et enregistrer les informations de connexion de l'utilisateur.

Merci

Détails supplémentaires: Mon pop-up viennent de code javascript à l'intérieur d'un iframe dans tous les domaines. Je sais que cela ressemble à la création de publicités .. mais vraiment je ne le suis pas. Si cela fait une différence, le domaine iframe et le domaine pop-up sont les mêmes.

1 plus de détails, je cherche à faire la même chose que "Facebook Connect" fait ... si vous n'êtes pas connecté à facebook, ils vous permettent de vous connecter à facebook depuis n'importe quel domaine en affichant une fenêtre pop-up sur le site de ce domaine. Pour un exemple, allez à n'importe quel article sur techcrunch.com et utilisez Facebook Connect pour commenter. Assurez-vous que vous êtes déconnecté de Facebook et vous verrez de quoi je parle.

+0

+1 car en effet votre cas justifie un pop-up. –

Répondre

4

Jetez un oeil à this site.

Une partie du code copié de celui-ci:

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

Et vous liez avec:

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

On dirait que cela fait l'affaire. Savoir si cela va être bloqué? Ou suis-je OK puisque le domaine iframe et le domaine de la pop-up sont les mêmes ... – Sam

+0

Eh bien, un problème possible que j'ai remarqué quand je regardais les exemples est qu'il a ouvert dans un nouvel onglet au lieu d'une nouvelle fenêtre parce que je avoir Firefox configuré pour forcer l'ouverture de nouvelles fenêtres en tant que nouvelles onglets. Cependant, le bloqueur de popup de Firefox n'a rien fait à ce sujet. La seule façon de savoir à coup sûr est de tester. – Sean

+0

J'ai la même option cochée dans FF2 et ça fait des pop-ups. Pourriez-vous tester la pop-up ici: http://www.somethingtoputhere.com/therunaround/ (facebook connect demo site) en cliquant sur le bouton "connecter"? – Sam

-1

Si vos utilisateurs utilisent IE et que votre site se trouve sur les sites de confiance, le bloqueur de fenêtres pop-up sera désactivé.

Cela aide-t-il?

+0

Malheureusement pas. – Sam

1

exemple Sean est bon, mais vous pouvez toujours détecter si la fenêtre contextuelle a été bloquée de la manière suivante:

<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

Merci pour la suggestion. J'ai édité mon exemple pour l'inclure. – Sean

0

Les bloqueurs de fenêtres contextuelles n'entrent pas en vigueur s'ils sont rendus sur une action utilisateur explicite comme un lien ou un clic de bouton. Même si votre navigateur est configuré avec des fenêtres pop-up bloquées, la fenêtre de connexion Facebook s'affiche toujours. C'est parce que le bouton de connexion a été cliqué par l'utilisateur. Peu importe même si le domaine du site actuel et le site dans la fenêtre pop-up diffèrent.

0

Voici comment créer une fenêtre pop-up ..

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