2014-07-07 33 views
-1

如果我有一個html頁面,我正在加載的路徑file://some/path/whatever.html,可以在該文件中的JavaScript下載whatever.html並檢查它?我知道相同的來源策略不允許訪問其他文件,但我不清楚它是否也禁止在使用file://協議時訪問當前文件。相同的來源策略是否允許您使用ajax通過file://協議請求當前文件?

簡而言之:相同的源策略不允許任何訪問file://協議路徑?我看着mdn's documentation on this,但它沒有說清楚。

+3

當您嘗試此操作時發生了什麼? – admdrew

+0

看到這個問題 http://stackoverflow.com/questions/18586921/how-to-launch-html-using-chrome-at-allow-file-access-from-files-mode 從允許文件開始chrome從文件訪問將允許您向本地文件發出ajax請求 – Geoff448

+0

@admdrew當我嘗試它時,我得到了readyState 4和狀態碼0.但是,它不會生成'腳本錯誤'。我正在使用'window.onerror'調用來查看失敗的跨域Ajax調用。 –

回答

1

這取決於瀏覽器。

我已經能夠在Firefox中使用AJAX(使用jQuery,可能有更簡單的方法),但不能在Chrome中使用,因爲它不允許從本地文件訪問JavaScript。

編輯:剛剛得知您可以使用--allow-file-access-from-files參數啓動Chrome,該參數應啓用此行爲。

+0

我剛剛能夠從桌面文件中的ajax(location.href)剛剛(沒有任何參數)... – dandavis

+0

@ dandavis這很奇怪,它幾天前沒有爲我工作。也許我做了其他錯誤或不同的事情。我會檢查我的腳本。 – kraxor

+0

我實際上並不希望啓用此行爲,只是想更準確地理解相同的原產地策略。我剛剛嘗試了最新版本的firefox tho,它似乎也不允許訪問。如果它真的會讓我感到驚訝。 –

相關問題