如何使用 asp-fallback like Angular 中的选项 6
How to use asp-fallback like option in Angular 6
我正在开发一个将在离线和在线服务器中使用的应用程序。所以我想有一个选项,在线服务器应该使用来自 CDN 的必要 css/js 文件,而离线服务器应该使用来自本地的文件。
示例 asp-fallback-href
选项。我在下面的代码中了解到它会按我的预期工作。
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css"
asp-fallback-href="~/vendor/fortawesome/fontawesome-free/css/all.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ"
crossorigin="anonymous">
我用的是Angular6、如何实现?
所有 asp-fallback*
属性所做的就是添加一些额外的 JavaScript 以在测试失败时动态加载回退 src/href。换句话说:
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" />
<script>
(function () {
var testElement = document.createElement('span');
testElement.className = 'sr-only';
if (testElement.style.position !== 'absolute') {
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = '/vendor/fortawesome/fontawesome-free/css/all.css';
link.rel = 'stylesheet';
head.appendChild(link);
}
})();
</script>
您可以使用 data-*
属性来模拟回退 href 和必要测试的相同内联定义,并相应地修改代码以使用这些而不是硬编码值来概括脚本。您也可能通过简单地使用动态加载库得到更好的服务,它通常能够 运行 这些类型的条件包含内置(例如 fallback.io)
我正在开发一个将在离线和在线服务器中使用的应用程序。所以我想有一个选项,在线服务器应该使用来自 CDN 的必要 css/js 文件,而离线服务器应该使用来自本地的文件。
示例 asp-fallback-href
选项。我在下面的代码中了解到它会按我的预期工作。
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css"
asp-fallback-href="~/vendor/fortawesome/fontawesome-free/css/all.css"
asp-fallback-test-class="sr-only" asp-fallback-test-property="position" asp-fallback-test-value="absolute"
integrity="sha384-hWVjflwFxL6sNzntih27bfxkr27PmbbK/iSvJ+a4+0owXq79v+lsFkW54bOGbiDQ"
crossorigin="anonymous">
我用的是Angular6、如何实现?
所有 asp-fallback*
属性所做的就是添加一些额外的 JavaScript 以在测试失败时动态加载回退 src/href。换句话说:
<link rel="stylesheet" href="https://use.fontawesome.com/releases/v5.2.0/css/all.css" />
<script>
(function () {
var testElement = document.createElement('span');
testElement.className = 'sr-only';
if (testElement.style.position !== 'absolute') {
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = '/vendor/fortawesome/fontawesome-free/css/all.css';
link.rel = 'stylesheet';
head.appendChild(link);
}
})();
</script>
您可以使用 data-*
属性来模拟回退 href 和必要测试的相同内联定义,并相应地修改代码以使用这些而不是硬编码值来概括脚本。您也可能通过简单地使用动态加载库得到更好的服务,它通常能够 运行 这些类型的条件包含内置(例如 fallback.io)