2009-08-28 14 views
0

Est-il possible dans une situation comme celle-ci;Plusieurs fenêtres pop-up Javascript

<li><a href="javascript:productPop('includes/products/test.php','8 mil');">asadfasdf</a></li> 
<li><a href="javascript:productPop('includes/products/test.php','15 mil');">asdfasdf</a></li> 
<li><a href="javascript:productPop('includes/products/test.php','hello');">asdfasdf</a></li> 

d'ouvrir les fenêtres en cascade? Alors que l'utilisateur peut comparer les fenêtres côte à côte.

Autre code correspondant

var newwindow; 
function productPop(url) 
{ 
    newwindow=window.open(url,name,'width=560,height=340,toolbar=0,menubar=0,location=0'); 
    if (window.focus) {newwindow.focus()} 
} 

EDIT:

Ou s'il vous plaît suggérer une meilleure façon d'accomplir la même chose

+5

Seulement si vous êtes méchant. –

+1

Un site qui ouvre 3 popups lorsque je clique sur un lien? Si vous parvenez à faire cela, vous ne me laisserez jamais rester, ni revenir, sur votre site ... –

+0

Je sais que ce n'est pas la meilleure solution mais le client a spécifiquement demandé cette fonctionnalité et c'est un lien ouvre une fenêtre. Vous cliquez sur le produit 1, il ouvre la fenêtre pour le produit un, puis vous cliquez sur le produit 2 et il ouvre la fenêtre pour le produit 2. De cette façon, vous pouvez les comparer côte à côte. Chaque fenêtre aura également des boutons de fermeture. S'il y a une meilleure solution, dites-le moi, mais c'est la seule que je connaisse. –

Répondre

1

Si vous voulez vraiment faire, définissez les emplacements des popups avec javascript. Puis-je vous demander pourquoi vous utilisez des popups? Il y a beaucoup d'autres moyens, moins ennuyeux, d'afficher des informations.

+0

Merci pour la suggestion, mais la chose de localisation ne semble pas fonctionner. –

+0

Hatdrawn: Je compte Dan signifie les positions de la fenêtre. Chaque fenêtre suivante est ouverte par rapport à la position de la fenêtre précédente. – vit

3

C'est techniquement possible, mais il sera difficile de les aligner régulièrement. Comme l'a suggéré Joel, ce n'est pas souhaitable en termes de facilité d'utilisation.

Pour les comparaisons côte à côte, avez-vous considéré une seule page qui leur permet d'ajouter et de supprimer des éléments à des fins de comparaison?

Une implémentation que je connais est http://www.fueleconomy.gov/feg/findacar.htm - mais il existe probablement de meilleurs moyens d'atteindre cet objectif.

EDIT: Comme demandé, je pense que votre code est presque là. Pourrait ajouter le paramètre de nom - si le nom ne change pas, il n'ouvrira pas une nouvelle instance d'une fenêtre avec chaque appel (je suppose que vous avez déjà résolu cela en fonction de votre code HTML).

var newwindow; 
function productPop(url, name) 
{  
    newwindow=window.open(url,name,'width=560,height=340,toolbar=0,menubar=0,location=0'); 
    if (window.focus) {newwindow.focus()} 
} 
+0

J'ai pensé à plusieurs façons différentes. Mais non seulement le client veut spécifiquement des fenêtres qui apparaissent, mais il ne veut pas non plus payer le temps que cela prendrait pour le développer. Ils n'ont pas à s'aligner l'un à côté de l'autre, je veux juste que les deux fenêtres restent devant le navigateur. Comme c'est le cas maintenant, lorsque vous ouvrez une nouvelle fenêtre, la fenêtre précédente est envoyée au fond –

+1

Parfois, les utilisateurs demandent des choses parce qu'ils ne connaissent pas de meilleure façon. Peut-être qu'ils n'aiment pas l'effet de postback que la figure est obligatoire lors de l'ajout de nouveaux éléments? AJAX réglerait cela. Bien sûr, vous ne pouvez pas faire grand-chose à leur sujet ne voulant pas payer pour quelque chose de mieux ... :) – Mayo

+0

Oui, je sais tout ce que tout le monde me parle. J'ai essayé de le convaincre d'une autre façon, mais si c'est ce qu'il veut, c'est ce qu'il veut. J'apprécie les commentaires, mais pourriez-vous s'il vous plaît me dire la façon «techniquement possible» de le faire. Clairement, ce n'est pas le meilleur client, alors j'aimerais juste lui donner ce qu'il veut et en finir. S'il te plaît et merci. –

Questions connexes