http://support.microsoft.com/kb/831678/zh-cn

从 HTML 模式或无模式对话框 Internet Explorer 6 中打开一个窗口时可能会丢失 Cookie
察看本文应用于的产品
注意:这篇文章是由无人工介入的自动的机器翻译系统翻译完成。这些文章是微软为不懂英语的用户提供的, 以使他们能够理解这些文章的内容。微软不保证机器翻译的正确度,也不对由于内容的误译或者客户对它的使用所引起的任何直接的, 或间接的可能的问题负责。
文章编号 : 831678
最后修改 : 2005年10月28日
OutlookWebAccess
症状
从 HTML 模式或无模式对话框, MicrosoftInternetExplorer 打开新窗口时新窗口不同进程中可能出现并不包含 Cookie 信息从对话框中。


原因
出现此现象的原因从 HTML 模式或无模式对话框可能没有打开同一进程中 InternetExplorer 窗口中打开。


替代方法
要变通解决此问题, 的对话框中的父窗口对象传递到对话框中, 然后使用该对象来打开新窗口。


状态
此行为是设计使然。


更多信息
当 Internet Explorer 通过使用 showModalDialog 方法或通过使用 showModelessDialog 方法, 从 HTML 模式或无模式对话框打开窗口将 InternetExplorer 采用 Microsoft 组件对象模型 (COM) 来创建新实例的窗口。 通过使用第一个现有 InternetExplorer 进程实例通常, 窗口打开。 此过程是不同于过程是 InternetExplorer 用于通过 window.open 方法打开新窗口。

当 Internet Explorer 打开窗口新进程, 中所有内存 Cookie 将不再可用, 包括会话 ID。


代码
以下示例代码是变通方法的示例:
Parent.asp

<html>
<script language="javascript">
function MyShowModal()
{
&nbsp;&nbsp;var args = new Object;
&nbsp;&nbsp;args.window = window;
&nbsp;&nbsp;showModalDialog("modal.asp", args);
}
</script>
<body>
Parent Page<br>
<span>Session ID : <%=Session.SessionID%></span>
<br>
<button onclick="MyShowModal()">Show modal dialog box</button>
</body>
</html>

Modal.asp

<html>
<body>Modal Page<br>
<span>Session ID : <%=Session.SessionID%></span><br>
<button
&nbsp;onclick=
&nbsp; &nbsp;"dialogArguments.window.open('page1.asp')">
Open Page 1 (workaround)
</button><br>
<button
&nbsp;onclick=
&nbsp; &nbsp;"window.open('page1.asp')">
Open Page 1 (problem)
</button>
</body>
</html>

1 .asp


<html>
<body>
Page 1<br>
<span>Session ID : <%=Session.SessionID%></span>
</body>
</html>

要测试此变通, 请按照下列步骤操作: 1. 在 Web 服务器上保存 Parent.asp 1 .asp Modal.asp 和示例代码文件。
2. 在客户端计算机上, 启动两 InternetExplorer 的新实例。
3. 在第二个 InternetExplorer 实例打开 Parent.asp 。 注意会话 ID 在 Web页上。
4. 单击以打开模式 HTML 对话框 显示模式对话框 。 注意会话 ID 对话框中。
5. 单击以查看问题 打开 Page 1 (问题) 。 出现一个新窗口。 但是, 会话 ID 是不同于会话 ID, 您发现在步骤 3 和 4。
6. 单击要查看此变通 打开 Page 1 (变通办法) 。 出现新窗口, 并且会话 ID 在该窗口是与会话 ID, 您发现在步骤 3 和 4。

回到顶端

OutlookWebAccess
发生此问题经常是 Microsoft Outlook Web Access (OWA) 中。 要重现此问题在 OWA, 请按照下列步骤操作: 1. 关闭 InternetExplorer 的所有实例。 &nbsp;
2. 启动两个 InternetExplorer 实例。 &nbsp;
3. 登录到 OWA 的 InternetExplorer, 第二个实例中。 &nbsp;
4. 选择消息, 并单击 答复 。 出现答复窗口。 &nbsp;
5. 在答复窗口, 双击收件人的电子邮件地址以打开 邮件属性 -- Web页对话框 对话框。 &nbsp;
6. 单击 添加到联系人 。 出现一个新窗口。 但是, 新窗口包含 Outlook Web Access 登录页而不是联系人页。 &nbsp;
由于 InternetExplorer 的第一个实例中打开新窗口新窗口包含 Outlook Web Access 登录页。 第一个 InternetExplorer 实例没有登录 Cookie 信息。
回到顶端


--------------------------------------------------------------------------------

这篇文章中的信息适用于:
• Microsoft Internet Explorer (Programming) 6 (SP1)
• Microsoft Internet Explorer (Programming) 6.0

JAVASCRIPT | 评论(2) | 引用(0) | 阅读(2362)
sdfsfsd Email Homepage
2008/06/30 13:41
网站做的真好! 代孕网祝您快乐!
机票 Email Homepage
2008/07/19 00:54
友情链接:国际机票
分页: 1/1 第一页 1 最后页
发表评论
表情
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
emotemotemotemotemot
打开HTML
打开UBB
打开表情
隐藏
昵称   密码   游客无需密码
网址   电邮   [注册]
               

验证码 不区分大小写