src/cm/media/js/lib/yui/yui_3.0.0b1/examples/get/get-script-basic.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 0 40c8f766c9b8
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
0
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     1
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     2
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     3
<html>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     4
<head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     5
	<title>YUI Library Examples: Get: Getting a Script Node with JSON Data</title>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     6
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     7
    	<link rel="stylesheet" type="text/css" href="../../assets/yui.css" >
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     8
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
     9
<style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    10
    /*Supplemental CSS for the YUI distribution*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    11
    #custom-doc { width: 95%; min-width: 950px; }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    12
    #pagetitle {background-image: url(../../assets/bg_hd.gif);}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    13
/*    #pagetitle h1 {background-image: url(../../assets/title_h_bg.gif);}*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    14
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    15
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    16
<link rel="stylesheet" type="text/css" href="../../assets/dpSyntaxHighlighter.css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    17
<link type="text/css" rel="stylesheet" href="../../build/cssfonts/fonts-min.css" />
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    18
<script type="text/javascript" src="../../build/yui/yui-debug.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    19
<style type="text/css">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    20
#container ol {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    21
	/*bringing lists on to the page with breathing room */
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    22
	margin-left:2em !important;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    23
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    24
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    25
#container ol li {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    26
	/*giving OL's LIs generated numbers*/
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    27
	list-style: decimal outside !important;	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    28
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    29
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    30
#container h3 {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    31
	margin-top: 1em;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    32
}
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    33
</style>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    34
</head>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    35
<body id="yahoo-com" class=" yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    36
<div id="custom-doc" class="yui-t2">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    37
<div id="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    38
	<div id="ygunav">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    39
		<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    40
            <em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    41
                <a href="http://developer.yahoo.com/yui/3/">YUI 3.x Home</a> <i> - </i>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    42
            </em>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    43
		</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    44
		<form action="http://search.yahoo.com/search" id="sitesearchform">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    45
            <input name="vs" type="hidden" value="developer.yahoo.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    46
            <input name="vs" type="hidden" value="yuiblog.com">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    47
		    <div id="sitesearch">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    48
		    	<label for="searchinput">Site Search (YDN &amp; YUIBlog): </label>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    49
			    <input type="text" id="searchinput" name="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    50
			    <input type="submit" value="Search" id="searchsubmit" class="ygbt">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    51
		    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    52
		</form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    53
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    54
	<div id="ygma"><a href="../../"><img src="../../assets/logo.gif"  border="0" width="200" height="93"></a></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    55
	<div id="pagetitle"><h1>YUI Library Examples: Get: Getting a Script Node with JSON Data</h1></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    56
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    57
<div id="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    58
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    59
	<div id="bar-note"><p><strong>Note:</strong> This is YUI 3.x. Looking for <a href="http://developer.yahoo.com/yui/">YUI 2.x</a>?</p></div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    60
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    61
	<div id="yui-main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    62
		<div class="yui-b">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    63
		  <div class="yui-ge">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    64
			  <div class="yui-u first example" id="main">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    65
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    66
	<h2>Get: Getting a Script Node with JSON Data</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    67
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    68
	<div id="example" class="promo">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    69
	<p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    70
	<p>This example employs the <a href="http://developer.yahoo.com/yui/3/get/">YUI
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    71
Get Utility</a> in a simple use case: retrieving JSON data from a cross-domain
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    72
web service. While this is a relatively common usage, it's important to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    73
understand the security ramifications of this technique. Scripts loaded via the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    74
Get Utility (or any other &quot;script node&quot; solution) execute immediately
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    75
once they are loaded. If you do not fully control (or fully trust) the script's
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    76
source, this is not a safe technique and it can put the security of your users'
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    77
data at risk. (For more information on the dangers of cross-site scripting
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    78
[XSS] exploits, <a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    79
href="http://en.wikipedia.org/wiki/Cross-site_scripting">check out the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    80
Wikipedia entry on this subject</a>.)</p> <p>Here, we will use a trusted Yahoo!
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    81
Search web service called <a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    82
href="http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html">Site
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    83
Explorer</a> to return a list of inbound links for a given URL. The principal
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    84
difference between this example and similar examples using <a
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    85
href="http://developer.yahoo.com/yui/3/io/">YUI IO Utility</a> is
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    86
that this technique does not require a server-side proxy. The browser connects
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    87
directly to the third-party web service without bouncing through a proxy page
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    88
as is required when using the XMLHttpRequest object (on which IO Utility
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    89
relies).</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    90
	</p>	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    91
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    92
	<div class="module example-container ">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    93
			<div class="hd exampleHd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    94
			<p class="newWindowButton yui-skin-sam">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    95
                <a href="get-script-basic_clean.html" target="_blank">View example in new window.</a>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    96
            </p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    97
		</div>		<div id="example-canvas" class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    98
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
    99
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   100
	<!--BEGIN SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   101
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   102
	<div id="container">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   103
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   104
    <!--Use a real form that works without JavaScript:-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   105
    <form method="GET" action="http://siteexplorer.search.yahoo.com/advsearch" id="siteExplorer">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   106
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   107
        <label for="searchString">Site URL:</label> <input type="text" name="p" id="searchString" value="http://developer.yahoo.com/yui" size="40">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   108
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   109
        <input type="hidden" name="bwm" value="i">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   110
        <input type="hidden" name="bwms" value="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   111
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   112
        <input type="submit" id="siteExplorerData" value="Click here to get JSON data.">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   113
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   114
    </form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   115
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   116
    <div id="results">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   117
        <!--JSON output will be written to the DOM here-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   118
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   119
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   120
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   121
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   122
<script type="text/javascript">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   123
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   124
YUI({base:"../../build/", timeout: 10000, filter:"debug", logInclude: {get:true, event:true, example:true}}).use("node", "dump",
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   125
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   126
function(Y) { 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   127
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   128
    // We are going to create a global variable to get the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   129
    // data back from the web service
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   130
    MyNamespace = YUI.namespace('example.SiteExplorer');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   131
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   132
    var elResults = Y.get("#results"),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   133
        tIds = {},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   134
        loading = false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   135
        current = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   136
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   137
    // We use the Get Utility's success handler in conjunction with
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   138
    // the web service callback in order to detect bad responses 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   139
    // from the web service.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   140
    var onSiteExplorerSuccess = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   141
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   142
        // stop blocking requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   143
        loading = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   144
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   145
        // A success response means the script node is inserted.  However, the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   146
        // utility is unable to detect whether or not the content of the script
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   147
        // node is correct, or even if there was a bad response (like a 404
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   148
        // error).  To get around this, we use the web service callback to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   149
        // verify that the script contents was correct.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   150
        if (o.tId in tIds) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   151
Y.log("The Get Utility has fired the success handler indicating that the " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   152
          "requested script has loaded and is ready for use.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   153
        } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   154
Y.log("The Get utility has fired onSuccess but the webservice callback did not " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   155
          "fire.  We could retry the transaction here, or notify the user of the " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   156
          "failure.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   157
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   158
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   159
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   160
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   161
    var onSiteExplorerFailure = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   162
Y.log("The Get Utility failed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   163
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   164
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   165
    var onSiteExplorerTimeout = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   166
Y.log("The Get Utility timed out.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   167
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   168
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   169
    //function to retrieve data from Yahoo! Site Explorer web service --
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   170
    // http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   171
    var getSiteExplorerData = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   172
        Y.log("Button clicked; getSiteExplorerData firing.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   173
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   174
        // block multiple requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   175
        if (loading) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   176
            return;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   177
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   178
        loading = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   179
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   180
        //Load the transitional state of the results section:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   181
        elResults.set("innerHTML", "<h3>Retrieving incoming links for " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   182
            Y.get("#searchString").get('value') + ":</h3>" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   183
            "<img src='http://l.yimg.com/a/i/nt/ic/ut/bsc/busybar_1.gif' " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   184
            "alt='Please wait...'>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   185
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   186
        //prepare the URL for the Yahoo Site Explorer API:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   187
        var sURL = "http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   188
            "appid=3wEDxLHV34HvAU2lMnI51S4Qra5m.baugqoSv4gcRllqqVZm3UrMDZWToMivf5BJ3Mom" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   189
            "&results=20&output=json&omit_inlinks=domain" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   190
            "&callback=MyNamespace.callback" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   191
            "&query=" + encodeURIComponent(Y.get("#searchString").get('value'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   192
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   193
        //This simple line is the call to the Get Utility; we pass
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   194
        //in the URL and the configuration object, which in this case
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   195
        //consists merely of our success and failure callbacks:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   196
        var transactionObj = Y.Get.script(sURL, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   197
            onSuccess: onSiteExplorerSuccess,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   198
            onFailure: onSiteExplorerFailure,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   199
            onTimeout: onSiteExplorerTimeout,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   200
            timeout: 20000,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   201
            context: Y
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   202
        });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   203
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   204
        //The script method returns a single-field object containing the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   205
        //tranaction id:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   206
        Y.log("Get Utility transaction started; transaction object: " + Y.dump(transactionObj), "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   207
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   208
        // keep track of the current transaction id.  The transaction will be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   209
        // considered complete only if the web service callback is executed.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   210
        current = transactionObj.tId; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   211
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   212
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   213
    MyNamespace.callback = function(results) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   214
        Y.log("Web service returned data to Y.example.SiteExplorer.callback; beginning to process.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   215
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   216
        // Mark the transaction as complete.  This will be checked by the onSuccess
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   217
        // handler to determine if the transaction really succeeded.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   218
        tIds[current] = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   219
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   220
        //work with the returned data to extract meaningful fields:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   221
        var aResults = results.ResultSet.Result;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   222
        var totalLinks = results.ResultSet.totalResultsAvailable;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   223
        var returnedLinkCount = results.ResultSet.totalResultsReturned;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   224
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   225
        if(aResults) {//there are inbound links; process and display them:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   226
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   227
            //write header and open list of inbound links:          
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   228
            var html = "<h3>There are " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   229
                totalLinks + 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   230
                " inbound links for this page; here are the first " + 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   231
                returnedLinkCount +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   232
                ":</h3><ol>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   233
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   234
            //process list of inbound links:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   235
            for (var i=0; i < aResults.length; i++) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   236
                html += "<li><strong>" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   237
                    aResults[i].Title +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   238
                    ":</strong> <a href='" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   239
                    aResults[i].Url +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   240
                    "'>" + aResults[i].Url +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   241
                    "</a></li>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   242
            }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   243
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   244
            //close list of inbound links
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   245
            html += "</ol>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   246
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   247
        } else {//no inbound links exist for this page:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   248
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   249
            var html = "<h3>There are no inbound links for the page specified.</h3>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   250
            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   251
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   252
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   253
        //insert string into DOM:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   254
        elResults.set('innerHTML', html);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   255
    };
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   256
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   257
    //suppress default form behavior
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   258
    Y.on("submit", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   259
        e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   260
        getSiteExplorerData();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   261
    }, "#siteExplorer");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   262
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   263
});
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   264
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   265
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   266
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   267
	<!--END SOURCE CODE FOR EXAMPLE =============================== -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   268
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   269
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   270
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   271
	</div>			
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   272
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   273
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   274
	<h2 class="first">Using the Get Utility to Get a Script File with JSON-formatted Contents</h2>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   275
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   276
<p>Here, we'll use <a href="http://developer.yahoo.com/yui/3/get/">the YUI Get Utility</a> to retrieve data via the <a href="http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html">Yahoo! Search Site-Explorer web service</a>, one of many Yahoo! APIs that support JSON.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   277
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   278
<p>This example has the following dependencies:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   279
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   280
<textarea name="code" class="HTML" cols="60" rows="1"><script type="text/javascript" src="http://yui.yahooapis.com/3.0.0b1/build/yui/yui-min.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   281
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   282
<p>First, we create a plain HTML form that will work for users who do not have JavaScript enabled:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   283
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   284
<textarea name="code" class="HTML" cols="60" rows="1"><div id="container">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   285
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   286
	<!--Use a real form that works without JavaScript:-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   287
	<form method="GET" action="http://siteexplorer.search.yahoo.com/advsearch" id="siteExplorer">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   288
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   289
        <label for="searchString">Site URL:</label> <input type="text" name="searchString" id="p" value="http://developer.yahoo.com/yui" size="40">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   290
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   291
        <input type="hidden" name="bwm" value="i">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   292
        <input type="hidden" name="bwms" value="p">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   293
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   294
        <input type="submit" id="siteExplorerButton" value="Click here to get JSON data.">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   295
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   296
    </form>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   297
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   298
	<div id="results">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   299
    	<!--JSON output will be written to the DOM here-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   300
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   301
    </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   302
</div></textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   303
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   304
<p>With this in place, we can progressively enhance the form to create an in-page interaction for users with JavaScript turned on.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   305
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   306
<p>The most important JavaScript piece here is the method that we fire on form submission.  This method triggers our call to the Get Utility. This method, called <code>getSiteExplorerData</code>, accomplishes four things:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   307
<ol>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   308
  <li>It loads a transitional state for the display, alerting the user to the fact that data is being retrieved as a result of her action;</li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   309
  <li>It prepares the URL that will be passed to the Get Utility;</li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   310
  <li>It calls the Get Utility, passing in the URL of the script resource to load (in this case, the URL of our web service with the relevant paramaters assembled in the querystring);</li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   311
  <li>It specifies the callback and the context in which the callback should
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   312
  run. Note that in this example the web service itself provides callback
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   313
  functionality, allowing us to pass a globally accessible callback function
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   314
  name as one of the parameters of the REST API; you can see this reference
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   315
  below. As a result, we're making direct use of the intrinsic web service
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   316
  callback in this example and just stubbing out the built-in Get Utility
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   317
  callback for the sake of illustration.</li> </ol> <p> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   318
  <textarea name="code" class="JScript" cols="60" rows="1">//function to retrieve data from Yahoo!
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   319
  Site Explorer web service --
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   320
// http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   321
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   322
var getSiteExplorerData = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   323
    Y.log("Button clicked; getSiteExplorerData firing.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   324
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   325
    // block multiple requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   326
    if (loading) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   327
        return;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   328
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   329
    loading = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   330
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   331
    //Load the transitional state of the results section:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   332
    elResults.set("innerHTML", "<h3>Retrieving incoming links for " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   333
        Y.get("#searchString").get('value') + ":</h3>" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   334
        "<img src='http://l.yimg.com/a/i/nt/ic/ut/bsc/busybar_1.gif' " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   335
        "alt='Please wait...'>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   336
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   337
    //prepare the URL for the Yahoo Site Explorer API:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   338
    var sURL = "http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   339
        "appid=3wEDxLHV34HvAU2lMnI51S4Qra5m.baugqoSv4gcRllqqVZm3UrMDZWToMivf5BJ3Mom" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   340
        "&results=20&output=json&omit_inlinks=domain" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   341
        "&callback=MyNamespace.callback" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   342
        "&query=" + encodeURIComponent(Y.get("#searchString").get('value'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   343
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   344
    //This simple line is the call to the Get Utility; we pass
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   345
    //in the URL and the configuration object, which in this case
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   346
    //consists merely of our success and failure callbacks:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   347
    var transactionObj = Y.Get.script(sURL, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   348
        onSuccess: onSiteExplorerSuccess,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   349
        onFailure: onSiteExplorerFailure,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   350
        onTimeout: onSiteExplorerTimeout,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   351
        timeout: 20000,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   352
        context: Y
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   353
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   354
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   355
    //The script method returns a single-field object containing the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   356
    //tranaction id:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   357
    Y.log("Get Utility transaction started; transaction object: " + Y.dump(transactionObj), "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   358
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   359
    // keep track of the current transaction id.  The transaction will be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   360
    // considered complete only if the web service callback is executed.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   361
    current = transactionObj.tId; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   362
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   363
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   364
</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   365
<p>The full JavaScript codeblock for this example reads as follows:</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   366
<textarea name="code" class="JScript" cols="60" rows="1">// We are going to create a global variable to get the 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   367
// data back from the web service
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   368
MyNamespace = YUI.namespace('example.SiteExplorer');
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   369
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   370
var elResults = Y.get("#results"),
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   371
    tIds = {},
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   372
    loading = false,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   373
    current = null;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   374
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   375
// We use the Get Utility's success handler in conjunction with
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   376
// the web service callback in order to detect bad responses 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   377
// from the web service.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   378
var onSiteExplorerSuccess = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   379
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   380
    // stop blocking requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   381
    loading = false;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   382
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   383
    // A success response means the script node is inserted.  However, the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   384
    // utility is unable to detect whether or not the content of the script
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   385
    // node is correct, or even if there was a bad response (like a 404
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   386
    // error).  To get around this, we use the web service callback to
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   387
    // verify that the script contents was correct.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   388
    if (o.tId in tIds) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   389
Y.log("The Get Utility has fired the success handler indicating that the " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   390
      "requested script has loaded and is ready for use.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   391
    } else {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   392
Y.log("The Get utility has fired onSuccess but the webservice callback did not " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   393
      "fire.  We could retry the transaction here, or notify the user of the " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   394
      "failure.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   395
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   396
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   397
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   398
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   399
var onSiteExplorerFailure = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   400
Y.log("The Get Utility failed.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   401
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   402
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   403
var onSiteExplorerTimeout = function(o) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   404
Y.log("The Get Utility timed out.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   405
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   406
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   407
//function to retrieve data from Yahoo! Site Explorer web service --
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   408
// http://developer.yahoo.com/search/siteexplorer/V1/inlinkData.html
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   409
var getSiteExplorerData = function() {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   410
    Y.log("Button clicked; getSiteExplorerData firing.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   411
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   412
    // block multiple requests
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   413
    if (loading) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   414
        return;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   415
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   416
    loading = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   417
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   418
    //Load the transitional state of the results section:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   419
    elResults.set("innerHTML", "<h3>Retrieving incoming links for " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   420
        Y.get("#searchString").get('value') + ":</h3>" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   421
        "<img src='http://l.yimg.com/a/i/nt/ic/ut/bsc/busybar_1.gif' " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   422
        "alt='Please wait...'>");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   423
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   424
    //prepare the URL for the Yahoo Site Explorer API:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   425
    var sURL = "http://search.yahooapis.com/SiteExplorerService/V1/inlinkData?" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   426
        "appid=3wEDxLHV34HvAU2lMnI51S4Qra5m.baugqoSv4gcRllqqVZm3UrMDZWToMivf5BJ3Mom" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   427
        "&results=20&output=json&omit_inlinks=domain" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   428
        "&callback=MyNamespace.callback" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   429
        "&query=" + encodeURIComponent(Y.get("#searchString").get('value'));
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   430
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   431
    //This simple line is the call to the Get Utility; we pass
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   432
    //in the URL and the configuration object, which in this case
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   433
    //consists merely of our success and failure callbacks:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   434
    var transactionObj = Y.Get.script(sURL, {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   435
        onSuccess: onSiteExplorerSuccess,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   436
        onFailure: onSiteExplorerFailure,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   437
        onTimeout: onSiteExplorerTimeout,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   438
        timeout: 20000,
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   439
        context: Y
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   440
    });
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   441
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   442
    //The script method returns a single-field object containing the
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   443
    //tranaction id:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   444
    Y.log("Get Utility transaction started; transaction object: " + Y.dump(transactionObj), "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   445
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   446
    // keep track of the current transaction id.  The transaction will be
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   447
    // considered complete only if the web service callback is executed.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   448
    current = transactionObj.tId; 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   449
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   450
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   451
MyNamespace.callback = function(results) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   452
    Y.log("Web service returned data to Y.example.SiteExplorer.callback; beginning to process.", "info", "example");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   453
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   454
    // Mark the transaction as complete.  This will be checked by the onSuccess
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   455
    // handler to determine if the transaction really succeeded.
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   456
    tIds[current] = true;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   457
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   458
    //work with the returned data to extract meaningful fields:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   459
    var aResults = results.ResultSet.Result;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   460
    var totalLinks = results.ResultSet.totalResultsAvailable;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   461
    var returnedLinkCount = results.ResultSet.totalResultsReturned;
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   462
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   463
    if(aResults) {//there are inbound links; process and display them:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   464
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   465
        //write header and open list of inbound links:          
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   466
        var html = "<h3>There are " +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   467
            totalLinks + 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   468
            " inbound links for this page; here are the first " + 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   469
            returnedLinkCount +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   470
            ":</h3><ol>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   471
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   472
        //process list of inbound links:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   473
        for (var i=0; i < aResults.length; i++) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   474
            html += "<li><strong>" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   475
                aResults[i].Title +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   476
                ":</strong> <a href='" +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   477
                aResults[i].Url +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   478
                "'>" + aResults[i].Url +
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   479
                "</a></li>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   480
        }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   481
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   482
        //close list of inbound links
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   483
        html += "</ol>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   484
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   485
    } else {//no inbound links exist for this page:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   486
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   487
        var html = "<h3>There are no inbound links for the page specified.</h3>";
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   488
        
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   489
    }
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   490
    
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   491
    //insert string into DOM:
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   492
    elResults.set('innerHTML', html);
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   493
};
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   494
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   495
//suppress default form behavior
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   496
Y.on("submit", function(e) {
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   497
    e.preventDefault();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   498
    getSiteExplorerData();
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   499
}, "#siteExplorer");
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   500
</textarea>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   501
				</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   502
				<div class="yui-u sidebar">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   503
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   504
				
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   505
					<div id="examples" class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   506
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   507
						<h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   508
    Get Examples:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   509
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   510
						<div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   511
							<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   512
								<li class='selected'><a href='../get/get-script-basic.html'>Getting a Script Node with JSON Data</a></li>							</ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   513
						</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   514
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   515
					
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   516
					<div class="mod box4">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   517
                        <div class="hd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   518
						<h4>More Get Resources:</h4>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   519
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   520
                        <div class="bd">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   521
						<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   522
							<!-- <li><a href="http://developer.yahoo.com/yui/get/">User's Guide</a> (external)</li> -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   523
						<li><a href="../../api/module_get.html">API Documentation</a></li>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   524
                            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   525
                            
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   526
							<li><a href="http://yuiblog.com/assets/pdf/cheatsheets/get.pdf">Cheat Sheet PDF</a> (external)</li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   527
                        </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   528
					</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   529
			  </div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   530
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   531
		
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   532
		</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   533
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   534
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   535
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   536
<div class="yui-b toc3" id="tocWrapper">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   537
<!-- TABLE OF CONTENTS -->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   538
<div id="toc">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   539
	
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   540
<ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   541
<li class="sect first">YUI 3.x Project</li><li class="item"><a title="The Yahoo! User Interface (YUI) Library, 3.x Branch, " href="http://developer.yahoo.com/yui/3/">YUI 3 Web Site (external)</a></li><li class="item"><a title="Examples of every YUI utility and control in action" href="../../examples/">YUI 3 Examples</a></li><li class="item"><a title="Instantly searchable API documentation for the entire YUI library." href="../../api/">YUI 3 API Docs</a></li><li class="item"><a title="The YUI Library can be downloaded from SourceForge" href="http://sourceforge.net/projects/yui/">YUI 3 on Sourceforge (external)</a></li><li class="item"><a title="YUI is free and open, offered under a BSD license." href="http://developer.yahoo.com/yui/3/license.html">YUI License (external)</a></li><li class="sect">YUI 3 Core - Examples</li><li class="item"><a title="YUI (Global Prerequisite) - Functional Examples" href="../../examples/yui/index.html">YUI (Global Prerequisite)</a></li><li class="item"><a title="Event - Functional Examples" href="../../examples/event/index.html">Event</a></li><li class="item"><a title="Node - Functional Examples" href="../../examples/node/index.html">Node</a></li><li class="sect">YUI 3 Component Infrastructure - Examples</li><li class="item"><a title="Attribute - Functional Examples" href="../../examples/attribute/index.html">Attribute</a></li><li class="item"><a title="Plugin - Functional Examples" href="../../examples/plugin/index.html">Plugin</a></li><li class="item"><a title="Widget - Functional Examples" href="../../examples/widget/index.html">Widget</a></li><li class="sect">YUI 3 Utilities - Examples</li><li class="item"><a title="Animation - Functional Examples" href="../../examples/anim/index.html">Animation</a></li><li class="item"><a title="Cache - Functional Examples" href="../../examples/cache/index.html">Cache</a></li><li class="item"><a title="Cookie - Functional Examples" href="../../examples/cookie/index.html">Cookie</a></li><li class="item"><a title="DataSchema - Functional Examples" href="../../examples/dataschema/index.html">DataSchema</a></li><li class="item"><a title="DataSource - Functional Examples" href="../../examples/datasource/index.html">DataSource</a></li><li class="item"><a title="DataType - Functional Examples" href="../../examples/datatype/index.html">DataType</a></li><li class="item"><a title="Drag &amp; Drop - Functional Examples" href="../../examples/dd/index.html">Drag &amp; Drop</a></li><li class="selected "><a title="Get - Functional Examples" href="../../examples/get/index.html">Get</a></li><li class="item"><a title="History - Functional Examples" href="../../examples/history/index.html">History</a></li><li class="item"><a title="ImageLoader - Functional Examples" href="../../examples/imageloader/index.html">ImageLoader</a></li><li class="item"><a title="IO - Functional Examples" href="../../examples/io/index.html">IO</a></li><li class="item"><a title="JSON (JavaScript Object Notation) - Functional Examples" href="../../examples/json/index.html">JSON</a></li><li class="item"><a title="Queue - Functional Examples" href="../../examples/queue/index.html">Queue</a></li><li class="item"><a title="Stylesheet - Functional Examples" href="../../examples/stylesheet/index.html">Stylesheet</a></li><li class="sect">YUI 3 Widgets - Examples</li><li class="item"><a title="Overlay - Functional Examples" href="../../examples/overlay/index.html">Overlay</a></li><li class="item"><a title="Slider - Functional Examples" href="../../examples/slider/index.html">Slider</a></li><li class="sect">YUI 3 Node Plugins - Examples</li><li class="item"><a title="FocusManager Node Plugin - Functional Examples" href="../../examples/node-focusmanager/index.html">FocusManager Node Plugin</a></li><li class="item"><a title="MenuNav Node Plugin - Functional Examples" href="../../examples/node-menunav/index.html">MenuNav Node Plugin</a></li><li class="sect">YUI 3 CSS - Examples</li><li class="item"><a title="YUI CSS Reset - Functional Examples" href="../../examples/cssreset/index.html">CSS Reset</a></li><li class="item"><a title="YUI Fonts - Functional Examples" href="../../examples/cssfonts/index.html">CSS Fonts</a></li><li class="item"><a title="YUI Base - Functional Examples" href="../../examples/cssbase/index.html">CSS Base</a></li><li class="sect">YUI 3 Developer Tools - Examples</li><li class="item"><a title="Console - Functional Examples" href="../../examples/console/index.html">Console</a></li><li class="item"><a title="Profiler - Functional Examples" href="../../examples/profiler/index.html">Profiler</a></li><li class="item"><a title="Test - Functional Examples" href="../../examples/test/index.html">Test</a></li><li class="sect">The YUI Community</li><li class="item"><a title="The Yahoo! User Interface Blog" href="http://yuiblog.com">YUI Blog (external)</a></li><li class="item"><a title="The Yahoo! Group YDN-JavaScript hosts the YUI community forum" href="http://tech.groups.yahoo.com/group/ydn-javascript/">YUI Forum (external)</a></li><li class="item"><a title="The Yahoo! Group yui3 is dedicated to the 3.x branch of the Yahoo! User Interface (YUI) Library." href="http://tech.groups.yahoo.com/group/yui3/">YUI 3 Forum (external)</a></li><li class="item"><a title="YUI is used by Yahoo! and by hundreds of other sites, including many you know and love." href="/yui/poweredby/">YUI Sightings (external)</a></li><li class="item"><a title="Videos and podcasts from the YUI Team and from the Yahoo! frontend engineering community." href="http://developer.yahoo.com/yui/theater/">YUI Theater (external)</a></li><li class="sect">YUI Articles on the YUI Website</li><li class="item"><a title="Answers to Frequently Asked Questions about the YUI Library" href="http://developer.yahoo.com/yui/articles/faq/">YUI FAQ (external)</a></li><li class="item"><a title="Yahoo!'s philosophy of Graded Browser Support" href="http://developer.yahoo.com/yui/articles/gbs/">Graded Browser Support (external)</a></li><li class="item"><a title="Reporting Bugs and Making Feature Requests for YUI Components" href="http://developer.yahoo.com/yui/articles/reportingbugs/">Bug Reports/Feature Requests (external)</a></li><li class="item"><a title="Serve YUI source files from Yahoo! -- free, fast, and simple" href="http://developer.yahoo.com/yui/3/articles/hosting/">Serving YUI Files from Yahoo! (external)</a></li></ul>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   542
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   543
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   544
	</div><!--closes bd-->
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   545
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   546
	<div id="ft">
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   547
        <p class="first">Copyright &copy; 2009 Yahoo! Inc. All rights reserved.</p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   548
        <p><a href="http://privacy.yahoo.com/privacy/us/devel/index.html">Privacy Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   549
            <a href="http://docs.yahoo.com/info/terms/">Terms of Service</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   550
            <a href="http://docs.yahoo.com/info/copyright/copyright.html">Copyright Policy</a> - 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   551
            <a href="http://careers.yahoo.com/">Job Openings</a></p>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   552
	</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   553
</div>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   554
<script src="../../assets/dpSyntaxHighlighter.js"></script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   555
<script language="javascript"> 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   556
dp.SyntaxHighlighter.HighlightAll('code'); 
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   557
</script>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   558
</body>
40c8f766c9b8 import from internal svn r 4007
raph
parents:
diff changeset
   559
</html>