2009-11-05 15 views
0

Pour une raison quelconque, lorsque je définis window.location.href = cela ouvre une autre fenêtre.window.location.href ouvre une autre fenêtre

window.location.href = 'https://MyDomain.com/Checkout/Purchase.asp';

Cela ne se produit pas dans mon environnement de développement, mais seulement dans la production. La seule chose différente que je puisse penser est que nous passons de http à https. S'il s'agissait d'un lien direct(), cela fonctionnerait.

Des idées pour que cela fonctionne correctement? L'url est construit avec Javascript (il nécessite quelques informations de l'utilisateur).

Répondre

1

Pourquoi ne pas spécifier la cible?

window.open("http://asdf.com", "_self"); 
0

Avez-vous essayé window.location.replace() à la place?

+0

Merci pour la suggestion, mais cela remplace la page actuelle par la nouvelle, y compris dans l'histoire. Pas exactement ce que je veux. – Brian

1

Les navigateurs peuvent être configurés pour se comporter de plusieurs façons, vous n'avez aucun contrôle de javascript si vous ouvrez une nouvelle fenêtre ou non. BTW location.href est plus rapide

+0

Le comportement du navigateur que vous décrivez est précis, mais s'applique généralement à savoir si une fenêtre s'ouvre dans une nouvelle fenêtre ou dans un nouvel onglet. S'il utilise le même navigateur pour accéder à ses environnements de développement et de production, ce n'est probablement pas la cause. En outre, 'location.href' est plus rapide à taper et c'est à peu près tout. Les économies de résolution de la chaîne de portée de la suppression de la fenêtre sont triviales. –

Questions connexes