# Yahoo! UI Library

### yui 3.0.0b1

Yahoo! UI Library > yui > Get
Search:
Filters Show Private Show Protected Show Deprecated

## `static` Class Get

Fetches and inserts one or more script or link nodes into the document

### Properties

#### PURGE_THRESH - `private static int`

The number of request required before an automatic purge. Can be configured via the 'purgethreshold' config property PURGE_THRESH
Default Value: 20

#### purging - `private boolean`

interal property used to prevent multiple simultaneous purge processes

#### qidx - `private int`

queue index used to generate transaction ids

#### queues - `private object`

hash of queues to manage multiple requests

### Methods

#### _autoPurge

`private void _autoPurge ( )`
Removes processed queues and corresponding nodes

Returns: `void`

#### _end

`private void _end ( id )`
The transaction is finished

Parameters:
  `id <string>` the id of the request

Returns: `void`

#### _finalize

`private static void _finalize ( id )`
Called by the the helper for detecting script load in Safari

Parameters:
  `id <string>` the transaction id

Returns: `void`

#### _finish

`private void _finish ( id )`
The request is complete, so executing the requester's callback

Parameters:
  `id <string>` the id of the request

Returns: `void`

#### _linkNode

`private HTMLElement _linkNode ( url , win , attributes )`
Generates a link node

Parameters:
  `url <string>` the url for the css file
  `win <Window>` optional window to create the node in
  `attributes <object>` optional attributes collection to apply to the new node

Returns: `HTMLElement`
  the generated node

#### _next

`private void _next ( id , loaded )`
Loads the next item for a given request

Parameters:
  `id <string>` the id of the request
  `loaded <string>` the url that was just loaded, if any

Returns: `void`

#### _node

`private HTMLElement _node ( type , attr , win )`
Generates an HTML element, this is not appended to a document

Parameters:
  `type <string>` the type of element
  `attr <string>` the attributes
  `win <Window>` optional window to create the element in

Returns: `HTMLElement`
  the generated node

#### _purge

`private void _purge ( )`
Removes the nodes for the specified queue

Returns: `void`

#### _returnData

`private void _returnData ( )`
Returns the data payload for callback functions

Returns: `void`

#### _scriptNode

`private HTMLElement _scriptNode ( url , win , attributes )`
Generates a script node

Parameters:
  `url <string>` the url for the script file
  `win <Window>` optional window to create the node in
  `attributes <object>` optional attributes collection to apply to the new node

Returns: `HTMLElement`
  the generated node

#### _timeout

`private void _timeout ( id )`
Timeout detected

Parameters:
  `id <string>` the id of the request

Returns: `void`

#### _track

`private void _track ( type , n , id , url , win , qlength , trackfn )`
Detects when a node has been loaded. In the case of script nodes, this does not guarantee that contained script is ready to use.

Parameters:
  `type <string>` the type of node to track
  `n <HTMLElement>` the node to track
  `id <string>` the id of the request
  `url <string>` the url that is being loaded
  `win <Window>` the targeted window
  `qlength <object>` the number of remaining items in the queue, including this one
  `trackfn <Function>` function to execute when finished the default is _next

Returns: `void`

#### abort

`static void abort ( o )`
Abort a transaction

Parameters:
  `o <string|object>` Either the tId or the object returned from script() or css()

Returns: `void`

#### css

`static tId: string css ( url , opts )`
Fetches and inserts one or more css link nodes into the head of the current document or the document in a specified window.

Parameters:
  `url <string>` the url or urls to the css file(s)
  `opts <object>` Options:
  onSuccess
    callback to execute when the css file(s) are finished loading The callback receives an object back with the following data:
    win
    the window the link nodes(s) were inserted into
  data
    the data object passed in when the request was made
  nodes
    An array containing references to the nodes that were inserted
  purge
    A function that, when executed, will remove the nodes that were inserted
context
  the execution context for the callbacks
win
  a window other than the one the utility occupies
data
  data that is supplied to the callbacks when the nodes(s) are loaded.
insertBefore
  node or node id that will become the new node's nextSibling
charset
  Node charset, default utf-8 (deprecated, use the attributes config)
attributes
  An object literal containing additional attributes to add to the link tags

    Y.Get.css("http://yui.yahooapis.com/2.3.1/build/menu/assets/skins/sam/menu.css");

      Y.Get.css(
      ["http://yui.yahooapis.com/2.3.1/build/menu/assets/skins/sam/menu.css",
       "http://yui.yahooapis.com/2.3.1/build/logger/assets/skins/sam/logger.css"], {
        insertBefore: 'custom-styles' // nodes will be inserted before the specified node
      });

Returns: `tId: string`
  an object containing info about the transaction

#### queue

`private void queue ( type , url , opts )`
Saves the state for the request and begins loading the requested urls

Parameters:
  `type <string>` the type of node to insert
  `url <string>` the url to load
  `opts <object>` the hash of options for this request

Returns: `void`

#### script

`static tId: string script ( url , opts )`
Fetches and inserts one or more script nodes into the head of the current document or the document in a specified window.

Parameters:
  `url <string|string[]>` the url or urls to the script(s)
  `opts <object>` Options:
  onSuccess
    callback to execute when the script(s) are finished loading The callback receives an object back with the following data:
    win
      the window the script(s) were inserted into
    data
      the data object passed in when the request was made
    nodes
      An array containing references to the nodes that were inserted
    purge
      A function that, when executed, will remove the nodes that were inserted
  onTimeout
    callback to execute when a timeout occurs. The callback receives an object back with the following data:
    win
      the window the script(s) were inserted into
    data
      the data object passed in when the request was made
    nodes
      An array containing references to the nodes that were inserted
    purge
      A function that, when executed, will remove the nodes that were inserted
  onEnd
    a function that executes when the transaction finishes, regardless of the exit path
  onFailure
    callback to execute when the script load operation fails The callback receives an object back with the following data:
    win
      the window the script(s) were inserted into
    data
      the data object passed in when the request was made
    nodes
      An array containing references to the nodes that were inserted successfully
    purge
      A function that, when executed, will remove any nodes that were inserted
  context
    the execution context for the callbacks
  win
    a window other than the one the utility occupies
  autopurge
    setting to true will let the utilities cleanup routine purge the script once loaded
  purgethreshold
    The number of transaction before autopurge should be initiated
  data
    data that is supplied to the callback when the script(s) are loaded.
  insertBefore
    node or node id that will become the new node's nextSibling
charset
  Node charset, default utf-8 (deprecated, use the attributes config)
attributes
  An object literal containing additional attributes to add to the link tags
timeout
  Number of milliseconds to wait before aborting and firing the timeout event

      Y.Get.script(
      ["http://yui.yahooapis.com/2.5.2/build/yahoo/yahoo-min.js",
       "http://yui.yahooapis.com/2.5.2/build/event/event-min.js"], {
        onSuccess: function(o) {
          this.log("won't cause error because Y is the context");
          Y.log(o.data); // foo
          Y.log(o.nodes.length === 2) // true
          // o.purge(); // optionally remove the script nodes immediately
        },
        onFailure: function(o) {
          Y.log("transaction failed");
        },
        onTimeout: function(o) {
          Y.log("transaction timed out");
        },
        data: "foo",
        timeout: 10000, // 10 second timeout
        context: Y, // make the YUI instance
        // win: otherframe // target another window/frame
        autopurge: true // allow the utility to choose when to remove the nodes
        purgetheshold: 1 // purge previous transaction before next transaction
      });

Returns: `tId: string`
  an object containing info about the transaction

Copyright © 2009 Yahoo! Inc. All rights reserved.