如果您的站点包含由 MIME 处理程序处理的文件,则这些文件的扩展名应对应于与 MIME 处理程序相同的 ProgID。如果给定文件的内容类型 ProgID 与文件扩展名 ProgID 不匹配,则 XP SP2 中的 Internet Explorer 可能会采取下列操作:1) 可能会提示用户下载文件;2) 如果该文件无法在 MIME 处理程序中处理,则它将不会在扩展名处理程序中处理。
您可以通过更改内容类型以匹配文件扩展名,来修正这些不匹配。请确定这也适用于您的网页。
例外:此更改不会影响发送“content-disposition=attachment”标头的情况。在这些情况下,服务器建议的文件名或扩展名被认为是最终名称,并且不会随多用途 Internet 邮件扩展 (MIME) 探测而更改。
您的 Web 站点是否在站点上具有下载对话框的图像,或者显示在哪里单击以接受控件的图像/文本?
如果客户使用的是 Windows XP Service Pack 2,请确保更新指向下载提示的所有图像,以反映新的下载对话框。要确定显示图像的版本,您可以在 Internet Explorer 中使用“用户代理”字符串(有关检测 SP2 的详细信息,请参阅常用技巧)。
您的 Web 站点是否具有应进行数字签名的下载?
现在,SP2 可以检查能够进行数字签名的文件的数字签名。这些文件的最常见示例包括具有以下扩展名的文件:.exe、.dll、.cab、.ocx 和 .msi。如果您是可以使用 Authenticode 技术进行签名的文件的发布者,那么现在客户将能够验证您创建的文件。这适用于 Internet Explorer 和 Outlook Express。
您的 Web 站点是否使用弹出窗口?
Internet Explorer 包括有在 SP2 中默认开启的弹出阻止程序。这个弹出阻止程序可能会干预自动从脚本中生成新窗口的站点。对于需要自动弹出的情况,该弹出阻止程序包含了一个有帮助的“允许”列表。默认情况下,弹出阻止程序不会尝试阻止从 Intranet 或受信任站点区域启动的弹出。
Internet Explorer 将弹出窗口视为何物?
Internet Explorer 将尝试阻止从脚本自动打开的任何窗口,但 createPopup() 除外。某些受到影响的常用函数包括 window.open()、showModelessDialog()、showModalDialog() 和 showHelp()。(注:自动以搜索窗格为目标的操作也会因弹出阻止限制而被阻止。)
您的 Web 站点是否将窗口布置为,使标题栏或地址栏位于可见显示顶端的上面,或者使状态栏位于可见显示底端的下面? 检查代码以确保您理解使用 window.open() 或 window.createPopup() 方法对脚本启动的窗口进行的限制。脚本可以调用相同的方法来创建 Internet Explorer 有边窗口(使用 window.open() 方法),或 Internet Explorer 无边弹出窗口(使用 window.createPopup() 方法)。但是,您可能需要检查设计,以确保弹出窗口在适当的时候对用户可见,并且状态栏包含的信息正确。
下列指导将说明如何在运行 Windows Restrictions Security 功能的过程中使用脚本启动的窗口调用。
对于使用 window.open() 打开的窗口:
■ 预期状态栏会出现,并为其编写代码。默认情况下,状态栏为开启,并且高度为 20-25 像素。 ■ 调整窗口的大小和内容,使它在视觉上适合窗口的整体大小。窗口不能覆盖任务栏,因此如果状态栏为开启状态,并且未考虑到任务栏,它可能会损失 40 像素。窗口在任务栏外的垂直大小不能超过 30 像素。 ■ 不要在屏幕外打开窗口 - 它们会进行一段最小的 X 和 Y 坐标偏移,使窗口完全显示在屏幕上。 ■ 与前面一样,窗口的显示会受到显示主题、字体大小和分辨率的影响,因此在您设计窗口时,可能还需要考虑这些 UI 的影响。 ■ 注:现在,带有 fullscreen=yes 的 window.open() 会导致最大化的窗口,而不是 kiosk 模式的窗口。 对于使用 window.createPopup() 打开的窗口: ■ 调整窗口的大小和内容,使它在视觉上适合窗口的整体大小。使用这个新功能,窗口将不会覆盖其父窗口的标题栏或状态栏,因此如果未考虑到标题栏或状态栏,它可能会损失 40 像素。请调整窗口的垂直大小,使其不超过页面的当前可见区域。 ■ 不要在 Internet Explorer 的 HTML 生成表面之外打开无边浏览窗口 - 它们会进行一段最小的 X 和 Y 坐标偏移,使窗口完全显示在客户端区域内。但有一个例外:最多有半个窗口可以存在于 Internet Explorer 客户端区域的左侧或右侧边缘之外。 ■ 与前面一样,窗口的显示会受到显示主题、字体大小和分辨率的影响,因此在您设计窗口时,可能还需要考虑这些 UI 的影响。
常用技巧
检测 SP2 中的 Internet Explorer 如果连接到您站点的浏览器是 SP2 中的 Internet Explorer,您可以使用 window.navigator.userAgent 来检测。var g_fIsSP2 = false;
function browserVersion()
{
g_fIsSP2 = (window.navigator.userAgent.indexOf("SV1") != -1);
if (g_fIsSP2)
{
//This browser is Internet Explorer in SP2.
}
else
{
//This browser is not Internet Explorer in SP2.
}
}
如果用户代理字符串中包含“SV1”,说明连接到您站点的浏览器是 SP2 中的 Internet Explorer。