脚本和 link 标签回退
script & link tags fallback
如何将库包含到项目中?
你使用回退吗?
现在我正在使用我自己的(我认为现在是最好的变体)后备
function onErrorLoader(obj, link){
if(obj.tagName != "SCRIPT")
obj.href = link;
else
obj.src = link;
}
我是这样用的
首先,我在 html 中包含错误处理程序
<script src="js/onErrorLoader.js"></script>
接下来我可以这样调用我的库
CSS
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/css/bootstrap.css')">
JS
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/js/bootstrap.js')"></script>
你怎么看这件事?
你有什么建议可以让它变得更好,或者你知道更好的方法
万一CDN不回复
例如:我正在使用我自己的 CDN 中的脚本,但由于某些原因我的 CDN 没有回复
我从未见过这样做的。我相信那是因为它是不必要的。我从未见过我的样式或脚本没有加载的情况。甚至在我脑子里可能加载了 12 个脚本的时候。浏览器不会忘记加载资源。
大多数现代工作流都有预处理和串联,然后它们提供 2 或 3 个文件。人们使用任务运行器和构建工具,例如 grunt、gulp、brunch、broccoli、codekit 等。
我的建议是让浏览器加载文件而不用担心它,或者如果你真的想确定发生了什么/查找 "promises"
如何将库包含到项目中? 你使用回退吗?
现在我正在使用我自己的(我认为现在是最好的变体)后备
function onErrorLoader(obj, link){
if(obj.tagName != "SCRIPT")
obj.href = link;
else
obj.src = link;
}
我是这样用的
首先,我在 html 中包含错误处理程序
<script src="js/onErrorLoader.js"></script>
接下来我可以这样调用我的库
CSS
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/css/bootstrap.min.css" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/css/bootstrap.css')">
JS
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.6/js/bootstrap.min.js" onerror="onErrorLoader(this, 'vendor/bootstrap/dist/js/bootstrap.js')"></script>
你怎么看这件事? 你有什么建议可以让它变得更好,或者你知道更好的方法
万一CDN不回复
例如:我正在使用我自己的 CDN 中的脚本,但由于某些原因我的 CDN 没有回复
我从未见过这样做的。我相信那是因为它是不必要的。我从未见过我的样式或脚本没有加载的情况。甚至在我脑子里可能加载了 12 个脚本的时候。浏览器不会忘记加载资源。
大多数现代工作流都有预处理和串联,然后它们提供 2 或 3 个文件。人们使用任务运行器和构建工具,例如 grunt、gulp、brunch、broccoli、codekit 等。
我的建议是让浏览器加载文件而不用担心它,或者如果你真的想确定发生了什么/查找 "promises"