# Conflicts: # aio/content/guide/animations.md # aio/content/guide/aot-compiler.md # aio/content/guide/api-page-class.md # aio/content/guide/architecture-components.md # aio/content/guide/architecture-modules.md # aio/content/guide/architecture-services.md # aio/content/guide/architecture.md # aio/content/guide/attribute-directives.md # aio/content/guide/browser-support.md # aio/content/guide/component-interaction.md # aio/content/guide/component-styles.md # aio/content/guide/dependency-injection-in-action.md # aio/content/guide/dependency-injection-pattern.md # aio/content/guide/dependency-injection.md # aio/content/guide/deployment.md # aio/content/guide/displaying-data.md # aio/content/guide/elements.md # aio/content/guide/form-validation.md # aio/content/guide/forms.md # aio/content/guide/frequent-ngmodules.md # aio/content/guide/glossary.md # aio/content/guide/hierarchical-dependency-injection.md # aio/content/guide/http.md # aio/content/guide/i18n.md # aio/content/guide/language-service.md # aio/content/guide/lifecycle-hooks.md # aio/content/guide/ngmodule-api.md # aio/content/guide/ngmodule-faq.md # aio/content/guide/npm-packages.md # aio/content/guide/observables.md # aio/content/guide/pipes.md # aio/content/guide/providers.md # aio/content/guide/quickstart.md # aio/content/guide/reactive-forms.md # aio/content/guide/releases.md # aio/content/guide/router.md # aio/content/guide/rx-library.md # aio/content/guide/security.md # aio/content/guide/service-worker-config.md # aio/content/guide/service-worker-getting-started.md # aio/content/guide/set-document-title.md # aio/content/guide/setup.md # aio/content/guide/structural-directives.md # aio/content/guide/styleguide.md # aio/content/guide/template-syntax.md # aio/content/guide/testing-observables.md # aio/content/guide/testing.md # aio/content/guide/typescript-configuration.md # aio/content/guide/universal.md # aio/content/guide/upgrade.md # aio/content/guide/user-input.md # aio/content/guide/visual-studio-2015.md # aio/content/guide/webpack.md # aio/content/marketing/resources.json # aio/content/navigation.json # aio/content/tutorial/toh-pt0.md # aio/content/tutorial/toh-pt1.md # aio/content/tutorial/toh-pt4.md # aio/content/tutorial/toh-pt5.md # aio/content/tutorial/toh-pt6.md # aio/src/app/custom-elements/api/api-list.component.ts # aio/src/app/custom-elements/live-example/live-example.component.html # aio/src/app/custom-elements/live-example/live-example.component.ts # aio/src/app/layout/doc-viewer/doc-viewer.component.ts # aio/src/styles/main.scss # aio/tools/transforms/remark-package/services/renderMarkdown.js
130 lines
4.8 KiB
HTML
130 lines
4.8 KiB
HTML
<!doctype html>
|
|
<html>
|
|
<head>
|
|
<meta charset="utf-8">
|
|
<title>Angular Docs</title>
|
|
<base href="/">
|
|
|
|
<meta name="viewport" content="width=device-width, initial-scale=1">
|
|
|
|
<link rel="icon" type="image/x-icon" href="favicon.ico">
|
|
<link rel="icon" type="image/x-icon" href="assets/images/favicons/favicon.ico">
|
|
<link rel="icon" type="image/png" href="assets/images/favicons/favicon-32x32.png"
|
|
sizes="32x32">
|
|
<link rel="icon" type="image/png" href="assets/images/favicons/favicon-194x194.png"
|
|
sizes="194x194">
|
|
<link rel="icon" type="image/png" href="assets/images/favicons/favicon-96x96.png"
|
|
sizes="96x96">
|
|
<link rel="icon" type="image/png" href="assets/images/favicons/favicon-16x16.png"
|
|
sizes="16x16">
|
|
<link rel="apple-touch-icon" sizes="144x144" href="assets/images/favicons/favicon-144x144.png">
|
|
<link rel="apple-touch-icon-precomposed" sizes="144x144" href="assets/images/favicons/favicon-144x144.png">
|
|
|
|
<!-- NOTE: These need to be kept in sync with `ngsw-manifest.json`. -->
|
|
<link href="assets/fonts/Material_Icons.css" rel="stylesheet">
|
|
<link href="assets/fonts/Droid_Sans_Mono.css" rel="stylesheet">
|
|
<link href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" rel="stylesheet">
|
|
<!-- -->
|
|
|
|
<link rel="manifest" href="pwa-manifest.json">
|
|
<meta name="theme-color" content="#1976d2">
|
|
<meta name="apple-mobile-web-app-capable" content="yes">
|
|
<meta name="apple-mobile-web-app-status-bar-style" content="translucent">
|
|
|
|
<script>
|
|
// Dynamically, pre-emptively, add `noindex`, which will be removed when the doc is ready and valid
|
|
tag = document.createElement('meta'); tag.name = 'robots'; tag.content = 'noindex';
|
|
document.head.appendChild(tag);
|
|
</script>
|
|
|
|
<!-- Google Analytics -->
|
|
<script>
|
|
// Note this is a customised version of the GA tracking snippet
|
|
// See the comments below for more info
|
|
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
|
|
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
|
|
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;
|
|
~i.name.indexOf('NG_DEFER_BOOTSTRAP')|| // only load library if not running e2e tests
|
|
m.parentNode.insertBefore(a,m)
|
|
})(window,document,'script','assets/js/analytics.js','ga');
|
|
</script>
|
|
<!-- End Google Analytics -->
|
|
|
|
<script>
|
|
// Report fatal errors to Google Analytics
|
|
window.onerror = function() {
|
|
ga('send', 'exception', {exDescription: formatError.apply(null, arguments), exFatal: true});
|
|
|
|
function formatError(msg, url, line, col, e) {
|
|
var stack;
|
|
msg = msg.replace(/^Error: /, '');
|
|
if (e) {
|
|
stack = e.stack
|
|
// strip the leading "Error: " from the stack trace
|
|
.replace(/^Error: /, '')
|
|
// strip the message from the stack trace, if present
|
|
.replace(msg + '\n', '')
|
|
// strip leading spaces
|
|
.replace(/^ +/gm, '')
|
|
// strip all leading "at " for each frame
|
|
.replace(/^at /gm, '')
|
|
// replace long urls with just the last segment: `filename:line:column`
|
|
.replace(/(?: \(|@)http.+\/([^/)]+)\)?(?:\n|$)/gm, '@$1\n')
|
|
// replace "eval code" in Edge
|
|
.replace(/ *\(eval code(:\d+:\d+)\)(?:\n|$)/gm, '@???$1\n')
|
|
} else {
|
|
line = line || '?';
|
|
col = col || '?';
|
|
stack = url + ':' + line + ':' + col;
|
|
}
|
|
return (msg + '\n' + stack).substr(0, 150);
|
|
}
|
|
};
|
|
</script>
|
|
|
|
<script nomodule src="generated/ie-polyfills.min.js"></script>
|
|
|
|
<script>
|
|
//load CE polyfill
|
|
//HACK: webpack's html plugin mangles the document.write calls if we don't trick it.
|
|
|
|
//load the ES5 shim for browsers with native CE support
|
|
function loadCustomElementsShim(){
|
|
document.write('<scri' + 'pt src="assets/js/native-shim.js"><' + '/script>');
|
|
}
|
|
|
|
//load the full custom elements polyfill for browsers without support
|
|
function loadCustomElementsPolyfill(){
|
|
document.write('<scri' + 'pt src="assets/js/custom-elements.min.js"><' + '/script>');
|
|
}
|
|
//detect if we have native CE support
|
|
if(!window.customElements){
|
|
loadCustomElementsPolyfill();
|
|
}
|
|
else {
|
|
loadCustomElementsShim();
|
|
}
|
|
</script>
|
|
|
|
</head>
|
|
<body>
|
|
|
|
<aio-shell></aio-shell>
|
|
|
|
<noscript>
|
|
<div class="background-sky hero"></div>
|
|
<section id="intro">
|
|
<div class="hero-logo">
|
|
<img src="assets/images/logos/angular/angular.svg" width="250" height="250">
|
|
</div>
|
|
<div class="homepage-container">
|
|
<div class="hero-headline">一套框架,多种平台<br>移动 & 桌面</div>
|
|
</div>
|
|
</section>
|
|
<h2 style="color: red; text-align: center; margin-top: -50px;">
|
|
<b><i>该网站需要浏览器支持 JavaScript </i></b>
|
|
</h2>
|
|
</noscript>
|
|
</body>
|
|
</html>
|