2012-07-07 52 views
4

我已經感覺了很多關於使用新的HTML5 JS XHR技術的簡單跨域XmlHttpRequest方法的漫遊。下面給出的標準JavaScript代碼XHR ...HTML5跨域XmlHttpRequest與較舊的XmlHttpRequests

var xhr=new XMLHttpRequest(); 
    xhr.open("GET",url,false); 
    xhr.send(); 
    var output=xhr.responseXML; 

...這將是等效的HTML5 XHR啓用跨域代碼,將給予相同的輸出?

+0

看看jsonp – fmsf 2012-07-07 21:41:17

+1

@fmsf,'jsonp'不是HTML5特有的。 – 2012-07-07 21:57:36

+1

我想你在考慮[CORS](http://www.w3.org/TR/cors/),它與HTML 5無關。 – Quentin 2012-07-07 22:00:07

回答

3

沒有什麼不同於JS的觀點。跨域授權由使用CORS的HTTP級別的瀏覽器處理,因此您的服務器必須支持跨域協商。

+0

所以只有當您的文檔類型設置爲HTML5或所有的瀏覽器,只要瀏覽器支持HTML5,這種情況發生? – Wagtail 2012-07-07 22:00:51

+1

@wagtail,CORS與HTML5無關。它已經存在很長時間了。因此,您使用的DOCTYPE並不重要。重要的是,如果客戶端瀏覽器支持它並且服務器是否發送正確的HTTP響應標頭。所以,不,HTML5不會帶來任何新的功能來跨域JavaScript屏幕刮板。它們仍然是PITA,因爲它們目前是:-) – 2012-07-07 22:01:44

+0

[CORS支持](http://www.caniuse.com/#feat=cors)不依賴於DOCTYPE。 – josh3736 2012-07-07 22:02:36