2009-11-23 236 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

好,把文件在哪裏就是你的網頁的相同目錄下。