static
Class Get
Fetches and inserts one or more script or link nodes into the document
Properties
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
private
void
_autoPurge
(
)
Removes processed queues and corresponding nodes
private
void
_end
(
id
)
The transaction is finished
- Parameters:
-
id
<string>
the id of the request
private
static
void
_finalize
(
id
)
Called by the the helper for detecting script load in Safari
- Parameters:
-
id
<string>
the transaction id
private
void
_finish
(
id
)
The request is complete, so executing the requester's callback
- Parameters:
-
id
<string>
the id of the request
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
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
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
private
void
_purge
(
)
Removes the nodes for the specified queue
private
void
_returnData
(
)
Returns the data payload for callback functions
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
private
void
_timeout
(
id
)
Timeout detected
- Parameters:
-
id
<string>
the id of the request
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
static
void
abort
(
o
)
Abort a transaction
- Parameters:
-
o
<string|object>
Either the tId or the object returned from
script() or 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
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
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