0

我的 Intranet 应用程序允许用户使用 CommonDialog activeX 控件 (comdlg32.ocx) 浏览和打印。这在 IE6-IE8 中运行良好。

在 IE9 客户端机器上,普通对话框照常显示,但是当单击 OK 或 Cancel 并关闭对话框时,浏览器会挂起。就好像浏览器认为公共对话框仍然打开一样。这不仅限于 comdlg32,还会影响我们使用的其他 activeX 组件。

但是,如果我调用 Alert(); 调用 commondialog 后,浏览器不会挂起(如果用户单击了取消,则有点混乱)。

HTML 对话框工作正常,例如 document.execCommand('SaveAs','1','fileName.txt') 但这些不提供我需要的功能(例如浏览文件夹)。

为了澄清这个问题,我创建了一个简单的 HTML 文件,其中包含一个用于 commondialog 的 object 标记和一个调用以下 javascript 函数的 html 按钮:

函数 saveFile() { dialog.ShowSave(); }

真的希望有人可以在这里提供帮助,因为我已经花了一个星期的时间来解决这个问题!

PS在各种客户端机器上使用windows 7(也尝试过vista)IE9。

谢谢

缺口

4

1 回答 1

0

见上面的编辑。这是 IE9 中已知的 MS 错误。他们说他们会在两个月内发布一个合适的补丁,但是上面显示的 reg hack 是一种享受。

于 2011-04-21T08:45:18.267 回答