2010-11-29 19:13:08 +00:00
|
|
|
<!doctype html>
|
|
|
|
|
<html xmlns:ng="http://angularjs.org/"
|
|
|
|
|
xmlns:doc="http://docs.angularjs.org/"
|
2011-06-07 19:53:40 +00:00
|
|
|
ng:controller="DocsController"
|
2011-08-20 15:51:00 +00:00
|
|
|
doc:manifest>
|
2010-10-27 22:31:10 +00:00
|
|
|
<head>
|
2011-05-11 00:01:01 +00:00
|
|
|
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
|
2010-11-15 18:02:22 +00:00
|
|
|
<meta name="fragment" content="!">
|
2011-08-30 09:47:24 +00:00
|
|
|
<title ng:bind-template="AngularJS: {{partialTitle}}">AngularJS</title>
|
|
|
|
|
<script type="text/javascript">
|
|
|
|
|
// dynamically add base tag as well as css and javascript files.
|
|
|
|
|
// we can't add css/js the usual way, because some browsers (FF) eagerly prefetch resources
|
|
|
|
|
// before the base attribute is added, causing 404 and terribly slow loading of the docs app.
|
|
|
|
|
(function() {
|
2011-10-13 01:26:18 +00:00
|
|
|
var indexFile = (location.pathname.match(/\/(index[^\.]*\.html)/) || ['', ''])[1],
|
|
|
|
|
rUrl = /(#!\/|api|guide|misc|tutorial|cookbook|index[^\.]*\.html).*$/,
|
2011-08-30 09:47:24 +00:00
|
|
|
baseUrl = location.href.replace(rUrl, indexFile),
|
|
|
|
|
jQuery = /index-jq[^\.]*\.html$/.test(baseUrl),
|
|
|
|
|
debug = /index[^\.]*-debug\.html$/.test(baseUrl),
|
|
|
|
|
angularPath = debug ? '../angular.js' : '../angular.min.js',
|
|
|
|
|
headEl = document.getElementsByTagName('head')[0],
|
|
|
|
|
sync = true;
|
2011-06-07 17:39:57 +00:00
|
|
|
|
2011-08-30 09:47:24 +00:00
|
|
|
addTag('base', {href: baseUrl});
|
|
|
|
|
addTag('link', {rel: 'stylesheet', href: 'docs-combined.css', type: 'text/css'});
|
|
|
|
|
addTag('link', {rel: 'stylesheet', href: 'syntaxhighlighter/syntaxhighlighter-combined.css',
|
|
|
|
|
type: 'text/css'});
|
|
|
|
|
addTag('script', {src: 'syntaxhighlighter/syntaxhighlighter-combined.js'}, sync);
|
|
|
|
|
if (jQuery) addTag('script', {src: 'jquery.min.js'});
|
|
|
|
|
addTag('script', {src: angularPath, 'ng:autobind':''}, sync);
|
|
|
|
|
addTag('script', {src: 'docs-combined.js'}, sync);
|
|
|
|
|
addTag('script', {src: 'docs-keywords.js'}, sync);
|
2011-05-25 12:00:12 +00:00
|
|
|
|
2011-08-30 09:47:24 +00:00
|
|
|
function addTag(name, attributes, sync) {
|
|
|
|
|
var el = document.createElement(name),
|
|
|
|
|
attrName;
|
|
|
|
|
|
|
|
|
|
for (attrName in attributes) {
|
|
|
|
|
el.setAttribute(attrName, attributes[attrName]);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
sync ? document.write(outerHTML(el)) : headEl.appendChild(el);
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
function outerHTML(node){
|
|
|
|
|
// if IE, Chrome take the internal method otherwise build one
|
|
|
|
|
return node.outerHTML || (
|
|
|
|
|
function(n){
|
|
|
|
|
var div = document.createElement('div'), h;
|
|
|
|
|
div.appendChild(n);
|
|
|
|
|
h = div.innerHTML;
|
|
|
|
|
div = null;
|
|
|
|
|
return h;
|
|
|
|
|
})(node);
|
|
|
|
|
}
|
2011-06-07 17:39:57 +00:00
|
|
|
})();
|
2011-06-07 19:53:40 +00:00
|
|
|
|
2011-08-30 09:47:24 +00:00
|
|
|
|
2011-06-07 19:53:40 +00:00
|
|
|
// force page reload when new update is available
|
|
|
|
|
window.applicationCache && window.applicationCache.addEventListener('updateready', function(e) {
|
|
|
|
|
if (window.applicationCache.status == window.applicationCache.UPDATEREADY) {
|
|
|
|
|
window.applicationCache.swapCache();
|
|
|
|
|
window.location.reload();
|
|
|
|
|
}
|
|
|
|
|
}, false);
|
2011-08-30 09:47:24 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
// GA asynchronous tracker
|
|
|
|
|
var _gaq = _gaq || [];
|
|
|
|
|
_gaq.push(['_setAccount', 'UA-8594346-3']);
|
|
|
|
|
_gaq.push(['_setDomainName', '.angularjs.org']);
|
|
|
|
|
|
|
|
|
|
(function() {
|
|
|
|
|
var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
|
|
|
|
|
ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
|
|
|
|
|
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
|
|
|
|
|
})();
|
2011-04-29 22:18:27 +00:00
|
|
|
</script>
|
2010-10-27 22:31:10 +00:00
|
|
|
</head>
|
2011-05-11 00:01:01 +00:00
|
|
|
|
2011-06-02 15:40:26 +00:00
|
|
|
<body>
|
|
|
|
|
<div id="container">
|
2011-05-11 00:01:01 +00:00
|
|
|
|
2011-06-02 15:40:26 +00:00
|
|
|
<!--[if lt IE 9]>
|
|
|
|
|
<div id="oldIePrompt">
|
|
|
|
|
You are using an old version of Internet Explorer.
|
|
|
|
|
For better and safer browsing experience please <a href="http://www.microsoft.com/IE9">upgrade IE</a>
|
|
|
|
|
or install <a href="http://google.com/chrome">Google Chrome browser</a>.
|
2011-05-11 00:01:01 +00:00
|
|
|
</div>
|
2011-06-02 15:40:26 +00:00
|
|
|
<![endif]-->
|
|
|
|
|
|
|
|
|
|
<ul id="navbar">
|
2011-07-06 21:10:58 +00:00
|
|
|
<li><a href="http://angularjs.org/">AngularJS</a></li>
|
2011-08-30 09:47:24 +00:00
|
|
|
<li><a href="misc/started" ng:class="selectedSection('misc')">Getting Started</a></li>
|
|
|
|
|
<li><a href="tutorial" ng:class="selectedSection('tutorial')">Tutorial</a></li>
|
|
|
|
|
<li><a href="api" ng:class="selectedSection('api')">API Reference</a></li>
|
|
|
|
|
<li><a href="cookbook" ng:class="selectedSection('cookbook')">Examples</a></li>
|
|
|
|
|
<li><a href="guide" ng:class="selectedSection('guide')">Developer Guide</a></li>
|
2011-06-02 15:40:26 +00:00
|
|
|
</ul>
|
|
|
|
|
|
|
|
|
|
<div id="sidebar">
|
2011-09-08 20:56:29 +00:00
|
|
|
<input type="text" ng:model="search" id="search-box" placeholder="search the docs"
|
2011-06-02 15:40:26 +00:00
|
|
|
tabindex="1" accesskey="s">
|
|
|
|
|
|
2011-08-20 07:24:24 +00:00
|
|
|
<ul id="content-list" ng:class="sectionId" ng:cloak>
|
2011-06-02 15:40:26 +00:00
|
|
|
<li ng:repeat="page in pages.$filter(search)" ng:class="getClass(page)">
|
|
|
|
|
<a href="{{getUrl(page)}}" ng:class="selectedPartial(page)"
|
|
|
|
|
ng:bind="page.shortName"
|
|
|
|
|
tabindex="2"></a>
|
|
|
|
|
</li>
|
|
|
|
|
</ul>
|
2011-05-11 00:01:01 +00:00
|
|
|
</div>
|
2011-06-02 15:40:26 +00:00
|
|
|
|
|
|
|
|
|
|
|
|
|
<div id="content-panel">
|
|
|
|
|
<h2 ng:bind="partialTitle"></h2>
|
|
|
|
|
<a id="feedback" ng:href="{{getFeedbackUrl()}}">Report an Issue or Ask a Question</a>
|
|
|
|
|
<ng:include id="content" src="getCurrentPartial()" onload="afterPartialLoaded()"></ng:include>
|
2011-05-11 00:01:01 +00:00
|
|
|
</div>
|
2011-06-02 15:40:26 +00:00
|
|
|
|
2011-08-20 07:24:24 +00:00
|
|
|
<div id="footer" ng:cloak>
|
2011-07-21 02:27:59 +00:00
|
|
|
<a id="version"
|
|
|
|
|
ng:href="https://github.com/angular/angular.js/blob/master/CHANGELOG.md#{{versionNumber}}"
|
|
|
|
|
ng:bind-template="v{{version}}">
|
|
|
|
|
</a>
|
2011-07-21 02:29:54 +00:00
|
|
|
<a ng:hide="offlineEnabled" ng:click ="subpage = true">(enable offline support)</a>
|
|
|
|
|
<span ng:show="offlineEnabled">(offline support enabled)</span>
|
2011-07-21 02:27:59 +00:00
|
|
|
<span id="copyright">© 2010-2011 AngularJS</span>
|
|
|
|
|
</div>
|
2010-11-10 18:09:48 +00:00
|
|
|
</div>
|
2011-06-07 17:39:57 +00:00
|
|
|
|
2011-08-21 07:24:22 +00:00
|
|
|
<div id="fader" ng:show="subpage" style="display: none"></div>
|
|
|
|
|
<div id="subpage" ng:show="subpage" style="display: none">
|
2011-07-21 02:29:54 +00:00
|
|
|
<div>
|
|
|
|
|
<h2>Would you like full offline support for this AngularJS Docs App?</h2>
|
|
|
|
|
<a ng:click="subpage=false">✕</a>
|
|
|
|
|
<p>
|
|
|
|
|
If you want to be able to access the entire AngularJS documentation offline, click the
|
|
|
|
|
button below. This will reload the current page and trigger background downloads of all the
|
|
|
|
|
necessary files (approximately 3.5MB). The next time you load the docs, the browser will
|
|
|
|
|
use these cached files.
|
|
|
|
|
<br><br>
|
|
|
|
|
This feature is supported on all modern browsers, except for IE9 which lacks application
|
|
|
|
|
cache support.
|
|
|
|
|
</p>
|
|
|
|
|
<button id="cacheButton" ng:click="enableOffline()">Let me have them all!</button>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
2010-10-27 22:31:10 +00:00
|
|
|
</body>
|
2010-11-10 18:09:48 +00:00
|
|
|
</html>
|