2013-03-01 66 views
0

我想運行下面給出code.It正常工作在IE瀏覽器但在其他瀏覽器它不工作。文件閱讀ajax調用瀏覽器兼容性

<script type='text/javascript' src='http://ajax.googleapis.com/ajax/libs/jquery/1.6.4 /jquery.min.js'></script> 

<script type="text/javascript"> 
$(document).ready(function(){ 
$("#button1").click(function(){ 

    alert("1");  
     $.ajax({url:"file://///30.170.12.75/Shared/a.html" 
     ,success:function(result) {$("#div1").html(result);} 
     ,error: function(result) {alert("2");} 
     }); 
    }); 
}); 
<script> 

據我所知jQuery的API提供給我們的瀏覽器兼容性也,但它是不工作的任何其他瀏覽器。

請讓我知道原因,以便將來我會照顧他們。

+0

您是否收到警報(「2」)?如果是這樣,你可以通過該結果來提醒並告訴我們什麼錯誤? – 2013-03-01 12:41:50

+0

@Moniecorleone我得到對象時,我把結果放在警報,而不是2. – 2013-03-01 13:06:25

+0

@Boaz感謝您的回覆ajax調用不工作。它始終顯示其他borwsers警報(「2」)。 – 2013-03-01 13:07:27

回答

2

您正在使用file://協議,如果源文檔不是file://協議的服務器,大多數瀏覽器都不允許訪問此協議。

對於ajax請求,如果目標協議是file://協議,大多數瀏覽器將阻止請求。然而,IE似乎並沒有像這樣的行爲,仍然允許請求完成。

如果您使用的是Chrome,則可以通過以--allow-file-access-from-files標誌啓動Chrome來更改此設置。

(難道真的是file://,而不是http://或其他東西?)錯誤

+0

我直接訪問這個「 file://///30.170.12.75/Shared/a.html「FF和chrome中的url正常工作。 – 2013-03-01 13:08:45

+2

直接訪問URL不會調用基於JavaScript的URL訪問強制執行的安全限制。即使使用'file:'提供源文檔,大多數瀏覽器也不允許訪問不同的文件。使用HTTP。 – Quentin 2013-03-01 13:30:56

+0

@Quentin但爲什麼它在IE中正常工作。 – 2013-03-04 09:22:28