javascript - 比较两种加载本地 jQuery 库的回退机制方法

标签 javascript jquery

在方法1中,以下是加载本地jQuery库的回退机制的代码

<head>
        <meta charset="UTF-8">
        <title>Fallback procedure</title>
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
        </script>
        <script type="text/javascript">
            if (typeof jQuery === 'undefined') {  
                var element  = document.createElement('script');  
                element.src = '../js/jquery-1.11.3.js';  
                element.type='text/javascript';  
                document.getElementsByTagName("head")[0].appendChild(element); 
            }
        </script>
    </head>
    <body>
        <p>Hello World!!</p>
        <script type="text/javascript">
            jQuery('p').html("Good Bye!!");
        </script>
    </body>
<小时/>

在方法2中,下面是加载jQuery库的后备机制的代码

<head>
        <meta charset="UTF-8">
        <title>Fallback procedure</title>
        <script type="text/javascript" src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js">
        </script>
        <script type="text/javascript">
            if (typeof jQuery === 'undefined')   
               document.write('<script type="text/javascript" src="../js/jquery-1.11.3.js"><\/script>');  
        </script>
    </head>
    <body>
        <p>Hello World!!</p>
        <script type="text/javascript">
            jQuery('p').html("Good Bye!!");
        </script>
    </body>
<小时/>

在执行其参数之前,document.write 会覆盖 document.write 之前出现的所有页面元素。

在此answer据说第二种方法更好。

为什么第二种方法更好?

最佳答案

在该答案中,提到的问题是,使用第一种方法,当 jQuery 可能尚未完成加载时,您会继续运行 js 代码。

在第二种方法中,您确保在继续下一个脚本之前加载注入(inject)的脚本

关于javascript - 比较两种加载本地 jQuery 库的回退机制方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34490642/

相关文章:

javascript - 将元素索引与主干 JS .get 模型事件连接起来

javascript - FullCalendar - eventDrop UTC 日期

javascript - 如何从 Javascript 关联数组哈希表中检索值?

javascript - 根据选定的搜索条件和搜索关键字显示结果表

jquery - 如何使用CSS3、jQuery、HTML制作图片队列效果?

javascript - 如何制作Digg的滑动输入框?

javascript - Google 脚本 indexOf 不适用于自定义元素

javascript - D3 折线图中的自定义 x 轴刻度

javascript - 尝试在 Safari 上使用 insertAfter 移动标签时出现问题

javascript - 了解 Backbone.js 概念