■83772 / inTopicNo.8) |
Re[5]: Windows10のIE11において |
□投稿者/ WebSurfer (1215回)-(2017/04/07(Fri) 19:36:40)
|
■No83770 (アタ さん) に返信
以下のコードで Windows 10 Pro. 64-bit の IE11 で試してみましたが、当方でも問題を
再現できました。Windows 10 + IE11 のバグかもしれませんね。
ページ A
--------
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Button1_Click(object sender, EventArgs e)
{
Server.Transfer("0206-ServerTransferB.aspx?P1=abc");
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<h1>Page A</h1>
<asp:Button ID="Button1" runat="server" Text="Button" OnClick="Button1_Click" />
</form>
</body>
</html>
ページ B
--------
<%@ Page Language="C#" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<script runat="server">
protected void Page_Load(object sender, EventArgs e)
{
Label1.Text = Request.UrlReferrer.ToString();
}
</script>
<html xmlns="http://www.w3.org/1999/xhtml">
<head runat="server">
<title></title>
</head>
<body>
<form id="form1" runat="server">
<h1>Page B</h1>
<asp:Button ID="Button1" runat="server" Text="Button" />
<br />
<asp:Label ID="Label1" runat="server"></asp:Label>
</form>
</body>
</html>
質問者さんの言われる通り、ページ A のボタンクリックでServer.Transfer によりページ B
に遷移後、ページ B のボタンクリックでポストバックすると、2 回目ではリファラが送られ
ません。
以下の Fiddler でのキャプチャ画像の #4 を見てください。
http://surferonwww.info/BlogEngine/image.axd?picture=2017%2f4%2freferer.jpg
#6 以降は Chrome によるもので、問題なくリファラは送信されています。
ちなみに、クエリ文字列の「日本語」を「abc」に変えると Windows 10 + IE11 でも問題は起
こりません(リファラは送信されます)
やっぱり Windows 10 + IE11 のバグかなぁという感じです。
そうだとすると、IE11 で対応してもらうまでは何ともならないので、クエリ文字列に日本語を
使わないとか、リファラに頼らないなどの回避策を取るほか手はなさそうな気がします。
|
|