API Documentation for: 0.3.0
Show:

XHRLoader Class

Extends AbstractLoader
Defined in: XHRLoader:39
Module: PreloadJS

A preloader that loads items using XHR requests, usually XMLHttpRequest. However XDomainRequests will be used for cross-domain requests if possible, and older versions of IE fall back on to ActiveX objects when necessary. XHR requests load the content as text or binary data, provide progress and consistent completion events, and can be canceled during load. Note that XHR is not supported in IE 6 or earlier, and is not recommended for cross-domain loading.

Constructor

XHRLoader

(
  • file
)

Defined in XHRLoader:39

Parameters:

  • file Object

    The object that defines the file to load. Please see the loadFile for an overview of supported file properties.

Methods

_checkError

() Boolean private

Defined in _checkError:276

Determine if there is an error in the current load. This checks the status of the request for problem codes. Note that this does not check for an actual response. Currently, it only checks for 404 or 0 error code.

Returns:

Boolean: If the request status returns an error code.

_clean

() private

Defined in _clean:395

A request has completed (or failed or canceled), and needs to be disposed.

_createXHR

(
  • item
)
Boolean private

Defined in _createXHR:329

Create an XHR request. Depending on a number of factors, we get totally different results.

  1. Some browsers get an XDomainRequest when loading cross-domain.
  2. XMLHttpRequest are created when available.
  3. ActiveX.XMLHTTP objects are used in older IE browsers.
  4. Text requests override the mime type if possible
  5. Origin headers are sent for crossdomain requests in some browsers.
  6. Binary loads set the response type to "arraybuffer"

Parameters:

  • item Object

    The requested item that is being loaded.

Returns:

Boolean: If an XHR request or equivalent was successfully created.

_generateTag

() Boolean private

Defined in _generateTag:414

Generate a tag for items that can be represented as tags. For example, IMAGE, SCRIPT, and LINK. This also handles XML and SVG objects.

Returns:

Boolean: If a tag was generated and is ready for instantiation. If it still needs processing, this method returns false.

_getResponse

() private

Defined in _getResponse:295

Validate the response. Different browsers have different approaches, some of which throw errors when accessed in other browsers. If there is no response, the _response property will remain null.

_handleError

(
  • event
)
private

Defined in _handleError:212

The XHR request has reported an error event.

Parameters:

  • event Object

    The XHR error event.

_handleLoad

(
  • event
)
private

Defined in _handleLoad:236

The XHR request has completed. This is called by the XHR request directly, or by a readyStateChange that has request.readyState == 4. Only the first call to this method will be processed.

Parameters:

  • event Object

    The XHR load event.

_handleLoadStart

(
  • event
)
private

The XHR request has reported a load start.

Parameters:

  • event Object

    The XHR loadStart event.

_handleProgress

(
  • event
)
private

Defined in _handleProgress:177

The XHR request has reported progress.

Parameters:

  • event Object

    The XHR progress event.

_handleReadyStateChange

(
  • event
)
private

The XHR request has reported a readyState change. Note that older browsers (IE 7 & 8) do not provide an onload event, so we must monitor the readyStateChange to determine if the file is loaded.

Parameters:

  • event Object

    The XHR readyStateChange event.

_handleTagReady

() private

Defined in _handleTagReady:510

A generated tag is now ready for use.

_handleTimeout

(
  • [event]
)
private

Defined in _handleTimeout:262

The XHR request has timed out. This is called by the XHR request directly, or via a setTimeout callback.

Parameters:

  • [event] Object optional

    The XHR timeout event. This is occasionally null when called by the backup setTimeout.

_isCanceled

() Boolean protected

Determine if the load has been canceled. This is important to ensure that method calls or asynchronous events do not cause issues after the queue has been cleaned up.

Returns:

Boolean: If the loader has been canceled.

_parseURI

(
  • path
)
Array protected

Inherited from AbstractLoader: _parseURI:307

Parse a file URI using the AbstractLoader.FILE_PATTERN RegExp pattern.

Parameters:

  • path String

    The file path to parse.

Returns:

Array: The matched file contents. Please see the AbstractLoader.FILE_PATTERN property for details on the return value. This will return null if it does not match.

_parseXML

(
  • text
  • type
)
XML private

Defined in _parseXML:489

Parse XML using the DOM. This is required when preloading XML or SVG.

Parameters:

  • text String

    The raw text or XML that is loaded by XHR.

  • type String

    The mime type of the XML.

Returns:

XML: An XML document.

_sendComplete

() protected

Dispatch a complete event (and onComplete callback). Please see the AbstractLoader.complete event for details on the event payload.

_sendError

(
  • event
)
protected

Inherited from AbstractLoader: _sendError:277

Dispatch an error event (and onError callback). Please see the AbstractLoader.error event for details on the event payload.

Parameters:

  • event Object

    The event object containing specific error properties.

_sendLoadStart

() protected

Dispatch a loadStart event (and onLoadStart callback). Please see the AbstractLoader.loadStart event for details on the event payload.

_sendProgress

(
  • value
)
protected

Dispatch a progress event (and onProgress callback). Please see the AbstractLoader.progress event for details on the event payload.

Parameters:

  • value Number | Object

    The progress of the loaded item, or an object containing loaded and total properties.

addEventListener

(
  • type
  • listener
)
Function | Object

Adds the specified event listener.

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    An object with a handleEvent method, or a function that will be called when the event is dispatched.

Returns:

Function | Object: Returns the listener for chaining or assignment.

close

()

Inherited from AbstractLoader: close:217

Close the active queue. Closing a queue completely empties the queue, and prevents any remaining items from starting to download. Note that currently any active loads will remain open, and events may be processed.

To stop and restart a queue, use the setPaused method instead.

dispatchEvent

(
  • eventObj
  • [target]
)
Boolean

Dispatches the specified event.

Parameters:

  • eventObj Object | String

    An object with a "type" property, or a string type. If a string is used, dispatchEvent will contstruct a generic event object with "type" and "params" properties.

  • [target] Object optional

    The object to use as the target property of the event object. This will default to the dispatching object.

Returns:

Boolean: Returns true if any listener returned true.

getResult

(
  • [rawResult=false]
)
Object

Defined in getResult:112

Look up the loaded result.

Parameters:

  • [rawResult=false] Boolean optional

    Return a raw result instead of a formatted result. This applies to content loaded via XHR such as scripts, XML, CSS, and Images. If there is no raw result, the formatted result will be returned instead.

Returns:

Object: A result object containing the content that was loaded, such as:
  • An image tag (<image />) for images
  • A script tag for JavaScript (<script />). Note that scripts loaded with tags may be added to the HTML head.
  • A style tag for CSS (<style />)
  • Raw text for TEXT
  • A formatted JavaScript object defined by JSON
  • An XML document
  • An binary arraybuffer loaded by XHR
Note that if a raw result is requested, but not found, the result will be returned instead.

handleAbort

(
  • event
)
private

Defined in handleAbort:201

The XHR request has reported an abort event.

Parameters:

  • event Object

    The XHR abort event.

hasEventListener

(
  • type
)
Boolean

Indicates whether there is at least one listener for the specified event type.

Parameters:

  • type String

    The string type of the event.

Returns:

Boolean: Returns true if there is at least one listener for the specified event.

initialize

() private

Inherited from EventDispatcher but overwritten in initialize:198

Initialize the loader. This is called by the constructor.

load

()

Inherited from AbstractLoader: load:205

Begin loading the queued items. This method can be called when a LoadQueue is set up but not started immediately.

Example:

 var queue = new createjs.LoadQueue();
 queue.addEventListener("complete", handleComplete);
 queue.loadManifest(fileArray, false); // Note the 2nd argument that tells the queue not to start loading yet
 queue.load();

removeAllEventListeners

(
  • [type]
)

Removes all listeners for the specified type, or all listeners of all types.

Parameters:

  • [type] String optional

    The string type of the event. If omitted, all listeners for all types will be removed.

removeEventListener

(
  • type
  • listener
)

Removes the specified event listener.

Parameters:

  • type String

    The string type of the event.

  • listener Function | Object

    The listener function or object.

toString

() String

Inherited from EventDispatcher but overwritten in toString:320

Returns:

String: a string representation of the instance.

Properties

_item

Object private

Inherited from AbstractLoader: _item:90

The item this loader represents. Note that this is null in a LoadQueue, but will be available on loaders such as XHRLoader and TagLoader.

_listeners

Object protected

Inherited from EventDispatcher: _listeners:90

_loadTimeout

Number private

Defined in _loadTimeout:66

A manual load timeout that is used for browsers that do not support the onTimeout event on XHR (XHR level 1, typically IE9).

_rawResponse

String | Object private

Defined in _rawResponse:94

The response of the loaded file before it is modified. In most cases, content is converted from raw text to an HTML tag or a formatted object which is set to the result property, but the developer may still want to access the raw content as it was loaded.

_request

XMLHttpRequest | XDomainRequest | ActiveX.XMLHTTP private

Defined in _request:58

A reference to the XHR request used to load the content.

_response

Mixed private

Defined in _response:85

The response of a loaded file. This is set because it is expensive to look up constantly. This property will be null until the file is loaded.

_xhrLevel

Number private

Defined in _xhrLevel:75

The browser's XHR (XMLHTTPRequest) version. Supported versions are 1 and 2. There is no official way to detect the version, so we use capabilities to make a best guess.

Default: 1

canceled

Boolean

Inherited from AbstractLoader: canceled:72

Determine if the loader was canceled. Canceled loads will not fire complete events. Note that LoadQueue queues should be closed using close instead of canceled.

Default: false

loaded

Boolean

Inherited from AbstractLoader: loaded:63

If the loader has completed loading. This provides a quick check, but also ensures that the different approaches used for loading do not pile up resulting in more than one complete event.

Default: false

onComplete

Function deprecated

Inherited from AbstractLoader: onComplete:159

Deprecated: In favour of the "complete" event. Will be removed in a future version.

The callback that is fired when the loader's content has been entirely loaded.

onError

Function deprecated

Inherited from AbstractLoader: onError:167

Deprecated: In favour of the "error" event. Will be removed in a future version.

The callback that is fired when the loader encounters an error.

onLoadStart

Function deprecated

Inherited from AbstractLoader: onLoadStart:151

Deprecated: In favour of the "loadStart" event. Will be removed in a future version.

The callback that is fired when a load starts.

onProgress

Function deprecated

Inherited from AbstractLoader: onProgress:143

Deprecated: In favour of the "progress" event. Will be removed in a future version.

The callback that is fired when the overall progress changes.

progress

Number

Inherited from AbstractLoader: progress:82

The current load progress (percentage) for this item. This will be a number between 0 and 1.

Default: 0

Events

complete

Inherited from AbstractLoader: complete:120

Available since 0.3.0

The event that is fired when the entire queue has been loaded.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

error

Inherited from AbstractLoader: error:128

Available since 0.3.0

The event that is fired when the loader encounters an error. If the error was encountered by a file, the event will contain the item that caused the error. There may be additional properties such as the error reason on event objects.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

  • [item] Object optional

    The item that was being loaded that caused the error. The item was specified in the loadFile or loadManifest call. If only a string path or tag was specified, the object will contain that value as a property.

  • [error] String optional

    The error object or text.

loadStart

Inherited from AbstractLoader: loadStart:112

Available since 0.3.0

The event that is fired when a load starts.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

progress

Inherited from AbstractLoader: progress:100

Available since 0.3.0

The event that is fired when the overall progress changes.

Event Payload:

  • target Object

    The object that dispatched the event.

  • type String

    The event type.

  • loaded Number

    The amount that has been loaded so far. Note that this is may just be a percentage of 1, since file sizes can not be determined before a load is kicked off, if at all.

  • total Number

    The total number of bytes. Note that this may just be 1.

  • percent Number

    The percentage that has been loaded. This will be a number between 0 and 1.