net.ImageLoader Extends goog.events.EventTarget
Image loader utility class. Raises a goog.events.EventType.LOAD event for each image loaded, with an Image object as the target of the event, normalized to have naturalHeight and naturalWidth attributes. To use this class, run:
  var imageLoader = new goog.net.ImageLoader();
  goog.events.listen(imageLoader, goog.net.EventType.COMPLETE,
      function(e) { ... });
  imageLoader.addImage("image_id", "http://path/to/image.gif");
  imageLoader.start();
The start() method must be called to start image loading. Images can be added and removed after loading has started, but only those images added before start() was called will be loaded until start() is called again. A goog.net.EventType.COMPLETE event will be dispatched only once all outstanding images have completed uploading.

Inheritance

Constructor

goog.net.ImageLoader(opt_parent)

Parameters

opt_parent : Element=
An optional parent element whose document object should be used to load images.

Instance Methods

Public Protected Private
addImage(idimageopt_corsRequestType)
Adds an image to the image loader, and associates it with the given ID string. If an image with that ID already exists, it is silently replaced. When the image in question is loaded, the target of the LOAD event will be an Image object with id and src attributes based on these arguments.
Arguments:
id : string
The ID of the image to load.
image : string | Image
Either the source URL of the image or the HTML image element itself (or any object with a src property, really).
opt_corsRequestType : !goog.net.ImageLoader.CorsRequestType=
The type of CORS request to use, if any.
code »
disposeInternal()
No description.
code »
loadImage_(imageRequestid)
Creates an Image object with the specified ID and source URL, and listens for network events raised as the image is loaded.
Arguments:
imageRequest : !goog.net.ImageLoader.ImageRequest_
The request data.
id : string
The unique ID of the image to load.
code »
onNetworkEvent_(evt)
Handles net events (READY_STATE_CHANGE, LOAD, ABORT, and ERROR).
Arguments:
evt : goog.events.Event
The network event to handle.
code »
removeImage(id)
Removes the image associated with the given ID string from the image loader. If the image was previously loading, removes any listeners for its events and dispatches a COMPLETE event if all remaining images have now completed.
Arguments:
id : string
The ID of the image to remove.
code »
start()
Starts loading all images in the image loader in parallel. Raises a LOAD event each time an image finishes loading, and a COMPLETE event after all images have finished loading.
code »
addEventListener(typeopt_captureopt_handlerScope)
Use #listen instead, when possible. Otherwise, use goog.events.listen if you are passing Object (instead of Function) as handler. Adds an event listener to the event target. The same handler can only be added once per the type. Even if you add the same handler multiple times using the same type then it will only be called once when the event is dispatched.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
assertInitialized_()
Asserts that the event target instance is initialized properly.
code »
dispatchEvent()
No description.
code »
disposeInternal()
Removes listeners from this object. Classes that extend EventTarget may need to override this method in order to remove references to DOM Elements and additional listeners.
code »
fireListeners()
No description.
code »
getListener()
No description.
code »
getListeners()
No description.
code »
getParentEventTarget() goog.events.EventTarget
Returns the parent of this event target to use for bubbling.
Returns: goog.events.EventTarget  The parent EventTarget or null if there is no parent.
code »
hasListener()
No description.
code »
listen()
No description.
code »
listenOnce()
No description.
code »
removeAllListeners()
No description.
code »
removeEventListener(typeopt_captureopt_handlerScope)
Use #unlisten instead, when possible. Otherwise, use goog.events.unlisten if you are passing Object (instead of Function) as handler. Removes an event listener from the event target. The handler must be the same object as the one added. If the handler has not been added then nothing is done.
Arguments:
type : string
The type of the event to listen for.
: ?function():? | ?{handleEvent:function():?
No description.
opt_capture : boolean=
In DOM-compliant browsers, this determines whether the listener is fired during the capture or bubble phase of the event.
opt_handlerScope : Object=
Object in whose scope to call the listener.
code »
setParentEventTarget(parent)
Sets the parent of this event target to use for capture/bubble mechanism.
Arguments:
parent : goog.events.EventTarget
Parent listenable (null if none).
code »
setTargetForTesting(target)
Sets the target to be used for event.target when firing event. Mainly used for testing. For example, see goog.testing.events.mixinListenable.
Arguments:
target : !Object
The target.
code »
unlisten()
No description.
code »
unlistenByKey()
No description.
code »
addOnDisposeCallback(callbackopt_scope)
Invokes a callback function when this object is disposed. Callbacks are invoked in the order in which they were added.
Arguments:
callback : function(this:T):?
The callback function.
opt_scope : T=
An optional scope to call the callback in.
code »
dispose() void
Disposes of the object. If the object hasn't already been disposed of, calls #disposeInternal. Classes that extend goog.Disposable should override #disposeInternal in order to delete references to COM objects, DOM nodes, and other disposable objects. Reentrant.
Returns: void  Nothing.
code »
disposeInternal()
Deletes or nulls out any references to COM objects, DOM nodes, or other disposable objects. Classes that extend goog.Disposable should override this method. Not reentrant. To avoid calling it twice, it must only be called from the subclass' disposeInternal method. Everywhere else the public dispose method must be used. For example:
  mypackage.MyClass = function() {
    mypackage.MyClass.base(this, 'constructor');
    // Constructor logic specific to MyClass.
    ...
  };
  goog.inherits(mypackage.MyClass, goog.Disposable);

  mypackage.MyClass.prototype.disposeInternal = function() {
    // Dispose logic specific to MyClass.
    ...
    // Call superclass's disposeInternal at the end of the subclass's, like
    // in C++, to avoid hard-to-catch issues.
    mypackage.MyClass.base(this, 'disposeInternal');
  };
code »
getDisposed() boolean
Use #isDisposed instead. No description.
Returns: boolean  Whether the object has been disposed of.
code »
isDisposed() boolean
No description.
Returns: boolean  Whether the object has been disposed of.
code »
registerDisposable(disposable)
Associates a disposable object with this object so that they will be disposed together.
Arguments:
disposable : goog.disposable.IDisposable
that will be disposed when this object is disposed.
code »

Instance Properties

constructor :
No description.
Code »
Event handler object, used to keep track of onload and onreadystatechange listeners.
Code »
imageIdToImageMap_ :
Map of image IDs to their image element, used only for images that are in the process of loading. Used to clean-up event listeners and to know when we've completed loading images.
Code »
imageIdToRequestMap_ :
Map of image IDs to their request including their image src, used to keep track of the images to load. Once images have started loading, they're removed from this map.
Code »
parent_ :
The parent element whose document object will be used to load images. Useful if you want to load the images from a window other than the current window in order to control the Referer header sent when the image is loaded.
Code »
actualEventTarget_ : goog.events.EventTarget
The object to use for event.target. Useful when mixing in an EventTarget to another object.
Code »
constructor :
No description.
Code »
eventTargetListeners_ : goog.events.ListenerMap
Maps of event type to an array of listeners.
Code »
parentEventTarget_ : goog.events.EventTarget
Parent event target, used during event bubbling. TODO(user): Change this to goog.events.Listenable. This currently breaks people who expect getParentEventTarget to return goog.events.EventTarget.
Code »
creationStack :
If monitoring the goog.Disposable instances is enabled, stores the creation stack trace of the Disposable instance.
Code »
disposed_ :
Whether the object has been disposed of.
Code »
onDisposeCallbacks_ :
Callbacks to invoke when this object is disposed.
Code »

Static Properties

goog.net.ImageLoader.IMAGE_LOAD_EVENTS_ :
An array of event types to listen to on images. This is browser dependent. For IE 10 and below, Internet Explorer doesn't reliably raise LOAD events on images, so we must use READY_STATE_CHANGE. Since the image is cached locally, IE won't fire the LOAD event while the onreadystate event is fired always. On the other hand, the ERROR event is always fired whenever the image is not loaded successfully no matter whether it's cached or not. In IE 11, onreadystatechange is removed and replaced with onload: http://msdn.microsoft.com/en-us/library/ie/ms536957(v=vs.85).aspx http://msdn.microsoft.com/en-us/library/ie/bg182625(v=vs.85).aspx
Code »
goog.net.ImageLoader.ImageRequest_ :
Describes a request for an image. This includes its URL and its CORS-request type, if any.
Code »
goog.net.ImageLoader.superClass_ :
No description.
Code »

Enumerations

goog.net.ImageLoader.CorsRequestType :
The type of image request to dispatch, if this is a CORS-enabled image request. CORS-enabled images can be reused in canvas elements without them being tainted. The server hosting the image should include the appropriate CORS header.
Constants:
ANONYMOUS
No description.
USE_CREDENTIALS
No description.
Code »

Package net

Package Reference