static
Class Get
Fetches and inserts one or more script or link nodes into the document
Properties
nidx
- private int
node index used to generate unique node ids
The number of request required before an automatic purge.
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
static
void
_finalize
(
id
)
Called by the the helper for detecting script load in Safari
- Parameters:
-
id
<string>
the transaction id
- Returns:
void
private
void
_finish
(
id
)
The request is complete, so executing the requester's callback
- Parameters:
-
id
<string>
the id of the request
- Returns:
void
private
HTMLElement
_linkNode
(
url
,
win
)
Generates a link node
- Parameters:
-
url
<string>
the url for the css file
-
win
<Window>
optional window to create the node in
- 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
- Returns:
void
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
)
Generates a script node
- Parameters:
-
url
<string>
the url for the script file
-
win
<Window>
optional window to create the node in
- Returns:
HTMLElement
- the generated node
private
void
_timeout
(
id
)
Timeout detected
- Parameters:
-
id
<string>
the id of the request
- Returns:
void
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
static
void
abort
(
o
)
Abort a transaction
- Parameters:
-
o
<string|object>
Either the tId or the object returned from
script() or css()
- Returns:
void
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
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
- Returns:
void
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
-
- 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
- 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
- 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
});
- Returns:
tId: string
- an object containing info about the transaction