Javascript 是否允许为脚本提供备用源?

Javascript 是否允许为脚本提供备用源?,javascript,jquery,html,Javascript,Jquery,Html,在HTML5中是否可能有javascript的替代源?例如,我使用jQuery,并在本地使用它。但是一个I允许包含一个alt属性,如果这个属性不起作用,Google的jQuery会加载吗 如果它能工作,代码将如下所示:是的,您可以这样做。有一个很好的jQuery加载示例 <script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script> <script>

在HTML5中是否可能有javascript的替代源?例如,我使用jQuery,并在本地使用它。但是一个I允许包含一个
alt
属性,如果这个属性不起作用,Google的jQuery会加载吗

如果它能工作,代码将如下所示:
是的,您可以这样做。有一个很好的jQuery加载示例

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
    <script>window.jQuery || document.write('<script src="js/vendor/jquery-1.10.2.min.js"><\/script>')</script>

window.jQuery | | document.write(“”)
但它的用途正好相反。如果无法加载来自google的脚本,它将返回到您的本地脚本


无论如何,您应该第一次尝试加载CDN版本,因为它的加载速度比“本地”版本快。

如果是jQuery,您可能需要查看

片段:

<script src="http://ajax.aspnetcdn.com/ajax/jquery/jquery-2.0.0.min.js"></script>
<script>
    if (typeof jQuery == 'undefined') {
        document.write(unescape("%3Cscript src='/js/jquery-2.0.0.min.js' type='text/javascript'%3E%3C/script%3E"));
    }
</script>

if(typeof jQuery==“未定义”){
write(unescape(“%3Cscript src=”/js/jquery-2.0.0.min.js'type='text/javascript'%3E%3C/script%3E”);
}

在实现它们时,我意识到前面的所有答案都有一个共同的问题,即Chrome会用慢速连接阻止它们,因为
文档。write
是一个同步功能。 这一问题将在中讨论

解决方案通常是使用moderns加载程序,或者预编译js代码

但是,如果您的用例仍然需要这种方法,则需要使用异步调用。下面是一个示例

基本上,上述代码转换为:

    <script>window.jQuery || (function(){
        // Create the DOM node
        a=document.createElement('script');
        a.src="http://path-to-the-script.js";
        a.async=1;
        // Find a node, and insert the script before it
        m=document.getElementsByTagName('script')[0];
        m.parentNode.insertBefore(a,m);
    })()</script>
window.jQuery | |(函数(){
//创建DOM节点
a=document.createElement(“脚本”);
a、 src=”http://path-to-the-script.js";
a、 异步=1;
//找到一个节点,并在其前面插入脚本
m=document.getElementsByTagName('script')[0];
m、 parentNode.insertBefore(a,m);
})()

有许多脚本加载程序是用JavaScript编写的。我们假设您需要一个静态HTML解决方案吗?当然,但这不是我的问题所在。在我的机器上,我发现本地加载速度要快得多。如果您在localhost上加载,当然要快得多,但在真实的生产环境中则不然。。您可以阅读这篇文章,其中解释了它的好处。它工作得很完美,只是想知道CSS是否也有解决方法?