2009-11-23 200 views
1

我从一个使用JavaScript的目录在IE6.0中打开一个文件。 但IAM得到在JavaScript'访问被拒绝'Javascript错误

function poponload() 
{ 
testwindow = window.open("C:\Searchtool\asd1.wrl", "mywindow", "location=1,status=1,scrollbars=1,width=300,height=300"); 
testwindow.moveTo(0,0); 
} 

“访问被拒绝”错误javascript.My代码 如果我使用相同的功能,从简单的HTML页面被打开该网页。 但是,如果我尝试从ASP.NET2008(.ASPX页面)做同样的事情,我得到'访问被拒绝'的错误。有人可以告诉它为什么给出错误的原因吗?和解决方案?

感谢

回答

6

您试图访问你不允许从页面从Web服务器做的硬盘驱动器上的文件。

+0

欲了解更多信息,查找了“同源策略”:http://en.wikipedia.org/wiki/Same_origin_policy – RichieHindle 2009-11-23 12:53:33

2

这是一个浏览器安全功能。它不会允许您直接从网页访问硬盘驱动器。当你在本地系统上打开一个HTML文件时,你可以访问它 - 因为浏览器没有给你比现有更多的能力,但允许网页在本地硬盘上打开文件将是一个巨大的安全缺陷。

我知道做这样的事情,唯一的方法是通过可信的插件/小程序 - 如ActiveX或Java小程序。这些需要签名和/或让用户明确信任他们访问您的系统以使他们工作。

0

如果你正在学习HTML和想办法从你的机器的网页打开你的机器的网页:

window.open("file:///C:/Searchtool/asd1.wrl", "mywindow", "location=1, 
    status=1,scrollbars=1,width=300,height=300"); 
+0

是不是这可能吗?既然你可以用'file:///'协议打开本地页面,我认为它在脚本中也会很好 - 不用费心去测试它。 – Amarghosh 2009-11-23 13:03:25

+0

刚刚测试过它,这是可能的 - 为什么倒票呢?我特别说过,这只能用于从机器中的页面打开机器中的页面。 – Amarghosh 2009-11-23 13:08:22

0

好,把文件在哪里就是你的网页的相同目录下。