* [CODE(DOMi)@en[XMLHttpRequest]] 構築子 [53] [PRE(JS example code)[ var xhr = new XMLHttpRequest (); ]PRE] * [CODE(DOMi)@en[XMLHttpRequest]] オブジェクト - [33] [CODE(DOMi)@en[[[EventTarget]]]] を継承 - [52] [CODE(JS)@en[[[Object]]]] を継承 - [CODE(DOMm)@en[[[abort]]]] - [CODE(DOMa)@en[[[channel]]]] - [CODE(DOMm)@en[[[getAllRespondeHeaders]]]] - [CODE(DOMm)@en[[[getResponseHeader]]]] - [CODE(DOMa)@en[[[mozBackgroundRequest]]]] - [CODE(DOMa)@en[[[multipart]]]] - [CODE(DOMa)@en[[[onerror]]]] - [CODE(DOMa)@en[[[onload]]]] - [CODE(DOMa)@en[[[onprogress]]]] - [CODE(DOMa)@en[[[onreadystatechange]]]] - [CODE(DOMa)@en[[[onuploadprogress]]]] - [CODE(DOMm)@en[[[open]]]] - [CODE(DOMm)@en[[[overrideMimeType]]]] - [CODE(DOMa)@en[[[readyState]]]] - [CODE(DOMa)@en[[[response]]]] - [CODE(DOMa)@en[[[mozResponseArrayBuffer]]]] - [CODE(DOMa)@en[[[responseText]]]] - [CODE(DOMa)@en[[[responseType]]]] - [CODE(DOMa)@en[[[responseXML]]]] - [CODE(DOMm)@en[[[send]]]] - [CODE(DOMm)@en[[[sendAsBinary]]]] - [CODE(DOMm)@en[[[setRequestHeader]]]] - [CODE(DOMa)@en[[[status]]]] - [CODE(DOMa)@en[[[statusText]]]] - [CODE(DOMa)@en[[[upload]]]] ** 事象 - [CODE(DOMe)@en[[[abort]]]] - [CODE(DOMe)@en[[[error]]]] - [CODE(DOMe)@en[[[load]]]] - [CODE(DOMe)@en[[[loadend]]]] - [CODE(DOMe)@en[[[progress]]]] - [CODE(DOMe)@en[[[readystatechange]]]] * メモ [1] [CITE[IE7 XML Extras]] ([[名無しさん]]) [2] [CITE[Dynamic HTML and XML: The XMLHttpRequest Object]] ([[名無しさん]] [sage]) [3] [CITE[Hawk's W3 Laboratory : XML : XMLHttpRequestについて]] [DEL[]] [31] >セキュリティ上の配慮から、XMLHttpRequestがリクエストを送信できるのは同一ドメイン内に制限されています。この制限を超えたリクエストを行おうとすると、IE/Geckoではopenメソッド呼び出し時に、Operaではsendメソッド呼び出し時にエラーとなります(throwされるものはブラウザ毎にバラバラですが)。KHTMLでは特にエラーらしい挙動は無いようです。 > ;; 厳密に言えばIE+MSXMLは『MSXML Client Security』に従い、ローカルファイルからはあらゆるリソースに対してリクエストを発行できます。しかしWindows XP SP2環境ではデフォルトで実行がブロックされるはずです。WSHやHTAから実行する場合には制限はありません。 [32] >XMLHttpRequestが送信するHTTPリクエストは、setRequestHeaderメソッドを使って書き換えたり、sendメソッドの引数として値を渡したりしない限り、ブラウザが送信するものと全く同一と言えます。ごく僅かの例外として、MSXMLではIEと比較してAcceptヘッダの内容が * に変わっているとか、MSXMLとOperaではスクリプトを呼び出したページのURLがRefererとして送信されるとか、その程度の違いはありますが、基本的にサーバサイドではブラウザからのアクセスなのかXMLHttpRequestを通したアクセスなのか区別する術はありません。 [4] [CITE[JP Vendor Status Notes]] ([[名無しさん]] [WEAK[2005-10-06 00:21:09 +00:00]]) [5] 仕様書(案) [CITE[Web Applications 1.0]] ([[名無しさん]] [sage]) [6] [CITE[XMLHttpRequest でよくわからないけど Opera 8 が落ちるテスト]] = [[Opera 8]] (8.0 Beta, build 7522 および 8.5, build 7702 (いずれも [[Windows XP]] [[SP2]] 上) で確認。) で開く = [KBD[読込み]]ボタンを押して、読込まれるのを待つ。 = ブラウザの[KBD[更新]]ボタンを押す。 何も起こらなければ何度か押してみる。 こうすると Opera が強制終了されるか、 CPU 使用率が高騰したままになります。 ([[名無しさん]] [WEAK[2005-11-07 03:51:34 +00:00]]) [7] - もちろん、普段はちゃんと動いています。 - [KBD[読込み]]ボタンを押さなければ (つまり [CODE(DOMi)@en[[[XMLHttpRequest]]]] を使わなければ) 問題ありません。 - 読込んでいるのは自分自身ですが、 自分か他の文書かは余り関係ないようです。 - [CODE(XMLa)@en[[[onclick]]]] 属性の有無が1つの再現条件のような気がします。 - [CODE(XMLa)@en[[[xmlns]]]] 属性の有無が1つの再現条件のような気がします。 - でも決定的な条件はよく分かりませんでした。 ([[名無しさん]] [WEAK[2005-11-07 03:54:40 +00:00]]) [8] ああ、見ての通り [CODE(MIME)@en[[[text/html]]]] な文書を扱ってます。他のは試してません。 ([[名無しさん]] [WEAK[2005-11-07 03:56:30 +00:00]]) [9] [CITE[Bug 304980 - nsIXMLHttpRequest throws exception on access of status member when the request failed due to a timeout]] ([[名無しさん]] [WEAK[2005-11-30 03:50:57 +00:00]]) [10] [CITE[XMLHttpRequest - MDC]] ([[名無しさん]]) [11] [CITE[IEBlog : Native XMLHTTPRequest object]] ([[名無しさん]] [WEAK[2006-02-01 00:03:42 +00:00]]) [12] [CITE[The XMLHttpRequest Object]] ([[名無しさん]] [WEAK[2006-04-06 03:36:19 +00:00]]) [13] [CITE[The XMLHttpRequest Object]] ([[名無しさん]] [WEAK[2006-06-21 22:46:32 +00:00]]) [14] [CITE[Index of /apis/XMLHttpRequest]] ([[名無しさん]]) [15] [CITE[(XMLHttpRequest 2) Second proposal for cross-site extensions to XMLHttpRequest from Ian Hickson on 2006-04-17 (public-webapi@w3.org from April 2006)]] ([[名無しさん]]) [16] [CITE[Alex Hopmann's Web Site]] ([CODE[2007-01-20 01:43:29 +09:00]] 版) ([[名無しさん]] [WEAK[2007-01-19 16:50:44 +00:00]]) [17] [CITE@ja[XMLHttpNoRequest - misuzilla.org]] ([[Mayuki Sawatari]] 著, [CODE[2007-02-04 18:07:57 +09:00]] 版) ([[名無しさん]] [WEAK[2007-02-04 09:09:58 +00:00]]) [18] [CITE@en[Marcus Granado's Ars Technica: Downloading Binary Streams with Javascript XMLHttpRequest]] ([CODE[2007-02-01 02:13:23 +09:00]] 版) ([[名無しさん]]) [19] [CITE[k12uのアレ - JavaScriptでバイナリファイルの中身にアクセスできた]] ([CODE[2007-02-12 03:04:51 +09:00]] 版) ([[名無しさん]]) [20] [CITE[k12uのアレ - JavaScriptでバイナリファイルの中身にアクセスできた]] ([CODE[2007-02-12 03:04:51 +09:00]] 版) ([[名無しさん]]) [21] [CITE[The road to cross-domain XMLHttpRequest - Anne’s Weblog]] ([CODE[2007-02-16 20:51:24 +09:00]] 版) ([[名無しさん]] [WEAK[2007-02-17 03:13:48 +00:00]]) [22] [CITE@en-US[The XMLHttpRequest Object]] ([CODE[2007-02-28 04:15:06 +09:00]] 版) ([[名無しさん]] [WEAK[2007-02-28 06:40:03 +00:00]]) [23] [CITE@en-US[The XMLHttpRequest Object]] ([CODE[2007-06-18 22:59:51 +09:00]] 版) ([[名無しさん]]) [24] [CITE@en[FW: Feedback from the IE Team: Web API XHR Draft]] ([[Sunava Dutta]] 著, [CODE[2007-09-26 11:35:40 +09:00]] 版) ([[名無しさん]]) [25] >>24 [[Microsoft]] は[[版付け]]がお好きなようで。 ([[名無しさん]]) [26] >>24 [[Microsoft]] は[[版付け]]がお好きなようで。 ([[名無しさん]]) [27] [CITE@en-US[The XMLHttpRequest Object]] ([CODE[2007-10-24 06:48:22 +09:00]] 版) ([[名無しさん]]) [28] [CITE@en-US[XMLHttpRequest Level 2]] ([CODE[2008-02-26 02:27:00 +09:00]] 版) ([[名無しさん]]) [29] [CITE@en-US[The XMLHttpRequest Object]] ([CODE[2008-04-16 01:33:17 +09:00]] 版) ([[名無しさん]]) [30] [CITE@en-US[XMLHttpRequest Level 2]] ([TIME[2008-10-03 23:37:56 +09:00]] 版) [34] [CITE@en-US[XMLHttpRequest]] ([TIME[2009-08-20 04:37:53 +09:00]] 版) [35] [CITE@en-US[XMLHttpRequest Level 2]] ([TIME[2009-08-20 04:43:23 +09:00]] 版) [36] [CITE@en-US[XMLHttpRequest]] ([TIME[2009-11-19 04:03:25 +09:00]] 版) [37] [CITE@en-US[XMLHttpRequest]] ([TIME[2009-11-19 04:03:25 +09:00]] 版) [38] [CITE[IRC logs: freenode / #whatwg / 20091218]] ([TIME[2010-01-05 22:35:29 +09:00]] 版) [39] [CITE@en['''['''XHR''']''''''['''XHR2''']''' single source file]] ([[Anne van Kesteren]] 著, [TIME[2009-12-24 03:33:07 +09:00]] 版) [40] [CITE[IRC logs: freenode / #whatwg / 20100203]] ([TIME[2010-02-06 01:45:27 +09:00]] 版) [41] [CITE@en-us[XMLHttpRequest - MDC]] ([TIME[2010-04-30 22:28:53 +09:00]] 版) [42] [CITE[IRC logs: freenode / #whatwg / 20100422]] ([TIME[2010-05-09 08:51:51 +09:00]] 版) [43] [CITE[IRC logs: freenode / #whatwg / 20100616]] ([TIME[2010-06-27 14:17:28 +09:00]] 版) [44] [CITE@en-US[XMLHttpRequest]] ([TIME[2010-08-03 20:41:18 +09:00]] 版) [45] [CITE[IRC logs: freenode / #whatwg / 20100803]] ([TIME[2010-08-11 00:19:06 +09:00]] 版) [46] [CITE[IRC logs: freenode / #whatwg / 20100809]] ([TIME[2010-08-14 15:23:27 +09:00]] 版) [47] [CITE@en-US[XMLHttpRequest Level 2]] ( ([TIME[2010-09-08 02:14:03 +09:00]] 版)) [48] [CITE[外部コンテンツを読み込む系のGreasemonkeyやブラウザ拡張を作る際の注意事項 - 金利0無利息キャッシング – キャッシングできます - subtech]] ( ([TIME[2010-10-24 21:00:37 +09:00]] 版)) [49] [CITE@ja[StoryOfXmlhttp - XMLHTTP の話。]] ( ([TIME[2010-10-28 00:00:17 +09:00]] 版)) [50] [CITE@en-US[XMLHttpRequest Level 2]] ( ([TIME[2011-08-16 22:21:49 +09:00]] 版)) [51] [CITE@en-US[XMLHttpRequest Level 2]] ( ([TIME[2011-08-16 22:21:49 +09:00]] 版))