Utiliser Response.Redirect pour ouvrir une nouvelle fenêtre de navigateur
Les développeurs Web ont souvent besoin de rediriger les utilisateurs vers une nouvelle page sans perturber leur session de navigation en cours. Bien que Response.Redirect
soit couramment utilisé, ouvrir la nouvelle page dans une fenêtre séparée peut être délicat. Ce guide présente la solution.
La clé est une combinaison de techniques côté client et côté serveur :
Modification de la cible côté client : Ajoutez l'attribut OnClientClick="aspnetForm.target='_blank';"
à votre lien ou bouton côté serveur. Cela oblige le navigateur à ouvrir le lien dans un nouvel onglet ou une nouvelle fenêtre.
Prévenir le comportement global des nouvelles fenêtres : Pour éviter tous les liens s'ouvrant dans de nouvelles fenêtres, ajoutez cette fonction JavaScript à l'en-tête de votre fenêtre contextuelle :
<code class="language-javascript">function fixform() { if (opener.document.getElementById("aspnetForm").target != "_blank") return; opener.document.getElementById("aspnetForm").target = ""; opener.document.getElementById("aspnetForm").action = opener.location.href; }</code>
onload="fixform()"
dans la balise <body>
de votre fenêtre contextuelle. Cela garantit que la fonction fixform()
s'exécute lors du chargement de la page, corrigeant l'attribut cible du formulaire.En mettant en œuvre ces trois étapes, un appel côté serveur à Response.Redirect("MyPage.aspx")
dans un événement OnClick
ouvrira avec succès "MyPage.aspx" dans une nouvelle fenêtre de navigateur, laissant la page d'origine intacte.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!