2010-10-21 46 views
8

我有一個本地帶有ajax函數的html文件,嘗試從x.com中提取xml內容。運行時文件只能在IE瀏覽器上運行,並且在Firefox和Safari瀏覽器上無法運行。當然這可能是因爲相同的產地政策。但是,我從某人那裏聽說,對於使用file://協議加載的腳本,此相同的原產地策略將不適用。這是真的,如果是的話,我的本地html文件有什麼問題?即使對於本地文件,跨域ajax也會失敗

回答

8

它確實應用於本地文件,將它們全部視爲單獨​​的域(因瀏覽器而異,如您所見)。例如在Chrome中,你可以使用命令行啓動它允許這樣的:

chrome.exe --allow-file-access-from-files 
5

在Mozilla的文件URI有更爲嚴格的同源策略限制.. https://developer.mozilla.org/En/Same-origin_policy_for_file:_URIs 但是你可以在騎通過詢問全球許可訪問使用:

if (navigator.userAgent.indexOf("Firefox") != -1) { 
      try { 
       netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead"); 
      } 
      catch (e) { 
       alert("Permission UniversalBrowserRead denied -- not running Mozilla?"); 
      } 
     } 
相關問題