脚本&链接标记回退

script & link tags fallback

本文关键字:回退 链接 amp 脚本      更新时间:2023-09-26

如何将库包含到项目中?是否使用回退?

现在我正在使用我自己的(我认为现在是最好的变体)后备

function onErrorLoader(obj, link){
    if(obj.tagName != "SCRIPT")
        obj.href = link;
    else
        obj.src = link;
}

我像这个一样使用它

首先,我在html中包含错误处理程序<script src="js/onErrorLoader.js"></script>

在这个旁边,我可以把我的libs称为

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个文件。人们使用任务执行器并构建工具,如咕哝、吞咽、早午餐、西兰花、代码包等。

我的建议是让浏览器加载文件,不要担心,或者如果你真的想确定发生了什么/查找"promises"