即试图打开本地文件时,即8.0访问被拒绝

此脚本在IE 6中工作,但不在IE 8.0中。我的用户现在得到“拒绝访问错误”。 我引用我的用户做什么设置启用本地文件访问,以便这个脚本将工作?

<script language="JavaScript"> function viewFile(selectedItem) { for (i=0; i<selectedItem.options.length; i++) { if ((selectedItem.options[i] != null) && (selectedItem.options[i].selected == true)) { window.open("file://"+selectedItem.options[i].text); } } } </script> 

用户可以从本地驱动器中select多个文件。 列表存储在一个文本框中,然后从列表中单击一个选定的文件。

例:

 selectedItem.options[i].text = C:\Documents and Settings\All Users\Documents\My Pictures\Sample Pictures\Sunset.jpg 

Solutions Collecting From Web of "即试图打开本地文件时,即8.0访问被拒绝"

由于IE8的安全模式比IE6严格得多,因此您无法再“开箱即用”。

您的选择是有限的,但可以包括:

  1. 开发一个闪存组件来访问用户的本地驱动器。

  2. 实现网站作为一个HTA(HTML应用程序),提供了对用户的文件系统的促进访问。

  3. 让访问者通过将您的站点添加到受信任的域列表来定制他们的IE安全设置,然后让受信任的域访问该文件:/// protocol(我不确定哪个安全设置适用于此特定功能,甚至可用。)

  4. 开发一个插件或bho对象(类似于flash组件,但用C ++或C#编写)

  5. 创建一个IE上下文菜单 – http://msdn.microsoft.com/en-us/library/bb735853(v=vs.85).aspx这也将提升特权。

作为一个方面的说明适当的文件格式为c:\路径应该看起来像这样:

file:///c:/documents%20and%20settings/file.jpg

注意三个/之后的file: ,uri转义的空格,以及所有的\切换到/