2013-04-29 189 views
4

我試圖查看一個本地文件是否存在鏈接單擊時,但它總是說它不存在。任何人都可以發現我犯的一個明顯的錯誤嗎?檢查文件是否存在

感謝

jQuery(document).ready(function() { 
    jQuery("a").click(function(){ 

    var href = jQuery(this).attr('href'); 

    jQuery.ajax({ 
     url:href, 
     type:'HEAD', 
     error: function() { 
      alert(href); 
     }, 
     success: function() { 
      alert('Huzzah!'); 
     } 
    }); 
}); 
+1

[SOP](http://en.wikipedia.org/wiki/Same_origin_policy)違規?安全功能:不允許網站訪問我的光盤上的隨機文件? – Bergi 2013-04-29 12:57:55

+0

巨大的潛力,他們都是靜態的html文件。這可能是這個嗎?有其他選擇嗎? – TMB87 2013-04-29 12:59:30

+0

你使用網絡服務器嗎? – egig 2013-04-29 13:08:48

回答

2

如果您試圖訪問你的本地文件系統中的文件,這可能是阻止您的瀏覽器,因爲同源策略的。

解決此問題的一個簡單方法是運行本地HTTP服務器。

例如如果您安裝了python,只需運行

python -m SimpleHTTPServer 
+0

這是一個phonegap應用程序 – TMB87 2013-04-29 13:03:25

2

Ajax無法使用file://協議執行。由於您使用PhoneGap的,有內置的對象用來檢查文件中存在與否:http://docs.phonegap.com/en/1.3.0/phonegap_file_file.md.html#FileReader

How to check a file's existence in phone directory with phonegap

var reader = new FileReader(); 
var fileSource = <here is your file path> 

    reader.onloadend = function(evt) { 

     if(evt.target.result == null) { 
      // If you receive a null value the file doesn't exists 
     } else { 
      // Otherwise the file exists 
     }   
    }; 

    reader.readAsDataURL(fileSource); 

好運!