0

したがって、次のコードは Firefox で完全に機能します。

<!--Cookies-->
<cfset timer = createTimeSpan(0,3,0,0)>
<cfcookie name = "user.ID" value = "#userID#" expires="#timer#">               <!--this will expire in three hours -->
<cfcookie name = "user.Site" value = "#userSite#" expires="#timer#">
<cfcookie name = "user.Sess" value = "#userSess#" expires="#timer#">
<cfcookie name = "user.FName" value = "#userFName#" expires="#timer#">
<cfcookie name = "user.LName" value = "#userLName#" expires="#timer#">
<cfcookie name = "user.Email" value = "#userEmail#" expires="#timer#">
<cfcookie name = "user.SiteFirst" value = "#userSiteFirst#" expires="#timer#">
<cfcookie name = "user.RoundsTotal" value = "#userRoundsTotal#" expires="#timer#">
<cfcookie name = "user.RoundsCurrent" value = "#userRoundsCurrent#" expires="#timer#">

<!-- And now we send the user off to wait.cfm where they will wait --->
<!-- Users will not head to choose their picture choice --->

<script type="text/javascript">
    location.href='picChoice.cfm';
</script>

Firefox では、すべての Cookie 内の値が完全に渡されます。その他のブラウザ、およびすべての Cookie は null です。

誰かが私が見えないところで何か間違ったことを見ることができることを願っています. 完全な cfm を見たい場合は、ここで行うことができます: http://pastebin.com/4G4wvjLd

4

2 に答える 2

1

読み込みに問題があると思います。Cookieの操作を完了する前にブラウザがリダイレクトされます。location.hrefをcflocationに変更するか、本文の「onLoad()」イベントに配置します(または、jqueryのloadイベントを使用してブラウザーリダイレクトのニュアンスを処理します)。

于 2012-05-09T21:57:41.620 に答える
1

コードは私には問題ないようです。ここでは、Cookie 名を Cookie 値として使用して実行しました。たとえば、Cookie は正しく設定され、IE と Chrome で OK が渡されます。Cookie 仕様 (当時 Netscape によって作成されたもの) にはいくつかの穴があり、特定の状況で一部のブラウザーがわずかに異なる動作をするようになります。私は2つのことをお勧めします:

1) 送信される値を単純化します。私の場合、Cookie名をCookie値として使用していますが、うまくいくようです。テストと同じことを行い、picChoice.cfm で #cookie# を cfdump するだけです (ここのテスト ページで行ったことです)。

2) フィドラーをプロキシとして使用してリクエストを実行し、ブラウザーが何を送受信しているかを監視します。これは、コードが実際に set-cookie ヘッダーを送信していることを確認し、ブラウザーがサーバーに何を送信しているかを確認するためです。

于 2012-05-10T10:48:59.117 に答える