Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/91.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在JavaScript文件中包含库?_Javascript_Html - Fatal编程技术网

如何在JavaScript文件中包含库?

如何在JavaScript文件中包含库?,javascript,html,Javascript,Html,另外,为了将HTML页面与JavaScript实现分开,我为网站上的每一组功能创建了不同的.js文件。 如果要从HTML页面实现JavaScript,我会: <script type="text/javascript" src="path/to/javascript/jquery.qtip.js"></script> 如果我使用java,我将包括一个外部库或类,如下所示: import java.util.* JavaScript中有类似的方法吗 function h

另外,为了将HTML页面与JavaScript实现分开,我为网站上的每一组功能创建了不同的.js文件。 如果要从HTML页面实现JavaScript,我会:

<script type="text/javascript" src="path/to/javascript/jquery.qtip.js"></script>
如果我使用java,我将包括一个外部库或类,如下所示:

import java.util.*
JavaScript中有类似的方法吗

function heatmap()
{
    var input = document.getElementById("heatmap").value;

    // TAKE THE HEATMAP HTML OBJECT AND MAKE A POST TO THE BACKEND
    $("#heatmap").empty().html(baseurl + "/images/loader.gif/>");
    $.post(baseurl + "index.php/heatmap/getMatrix",
        {
            input : input.toString()
        },

        function(answer){
            var list = eval('(' + answer + ')');
            var temp = list.split(" ");
            makeTable(temp);

            $(document).ready(function(){
                $('mytable td').qtip({
                overwrite : false,      // make sure it can' be overwritten
                content : {
                    text : function(api){
                    var msg = "Interaction: " + $(this).html(); 
                    return msg;
                    }
                },
                position : {
                   my : 'top left',
                   target : 'mouse',
                   viewport : $(window),    // keep it on screen at all time is possible
                   adjust : {
                    x : 10, y : 10
                   }
                },

                hide : {
                   fixed  : true        // helps to prevent the tooltip
                },
                style : 'ui-tooltip-tipsy ui-tooltip-shadow' 
                });
            });
        });

}
**********添加MAKETABLE函数***********


我认为您正在寻找一个脚本加载程序,如


我认为您正在寻找一个脚本加载程序,如


您已经知道如何使用脚本标记包含.js文件,因此有3个选项:

上述脚本标签; 将两个文件的源压缩到一个文件中; 使用模块化加载程序,例如。 当您在JavaScript中加载另一个脚本的源代码(如PHP的include/require或Java的import或C的include)时,没有简单的内置函数来停止脚本的执行,因为JavaScript的脚本加载是异步的-脚本按照您在页面中包含它们的顺序执行,但他们不会等待加载动态添加的脚本

请注意,第一个和第三个选项会产生额外的HTTP请求,因此,如果您的脚本始终需要这样的函数,您可以将其包含在脚本中以减少HTTP请求。不过,如果您想保持.js文件的拆分并从另一个.js文件导入它们,最好的选择是

此外,如果您使用的是jQuery,则可以在$.getScript的回调中使用并运行其余代码

由于您使用的是jQuery,因此这里有一个仅用于jQuery的解决方案,用于在需要时动态添加qtip.js并提供:

if (!$().qtip) //if qtip is not included/loaded into the page yet
    $.getScript('http://craigsworks.com/projects/qtip2/packages/latest/jquery.qtip.min.js', heatmap);
else heatmap();
当然,您可以直接在DOM就绪事件内部或页面中的任何位置使用$.getScript:

$(document).ready(function() {
    $.getScript('http://craigsworks.com/projects/qtip2/packages/latest/jquery.qtip.min.js');
});
请注意,$.getScript将是异步的,因此必须将依赖于此脚本的其余代码包装在其回调中。有很多方法可以将其设置为同步ajax调用,但是它可能会冻结/减慢页面的加载,因此强制页面同步是不可取的


如果您需要包含许多.js文件,那么RequireJS是一个更好的选项。

您已经知道如何使用脚本标记包含.js文件,因此您有3个选项:

上述脚本标签; 将两个文件的源压缩到一个文件中; 使用模块化加载程序,例如。 当您在JavaScript中加载另一个脚本的源代码(如PHP的include/require或Java的import或C的include)时,没有简单的内置函数来停止脚本的执行,因为JavaScript的脚本加载是异步的-脚本按照您在页面中包含它们的顺序执行,但他们不会等待加载动态添加的脚本

请注意,第一个和第三个选项会产生额外的HTTP请求,因此,如果您的脚本始终需要这样的函数,您可以将其包含在脚本中以减少HTTP请求。不过,如果您想保持.js文件的拆分并从另一个.js文件导入它们,最好的选择是

此外,如果您使用的是jQuery,则可以在$.getScript的回调中使用并运行其余代码

由于您使用的是jQuery,因此这里有一个仅用于jQuery的解决方案,用于在需要时动态添加qtip.js并提供:

if (!$().qtip) //if qtip is not included/loaded into the page yet
    $.getScript('http://craigsworks.com/projects/qtip2/packages/latest/jquery.qtip.min.js', heatmap);
else heatmap();
当然,您可以直接在DOM就绪事件内部或页面中的任何位置使用$.getScript:

$(document).ready(function() {
    $.getScript('http://craigsworks.com/projects/qtip2/packages/latest/jquery.qtip.min.js');
});
请注意,$.getScript将是异步的,因此必须将依赖于此脚本的其余代码包装在其回调中。有很多方法可以将其设置为同步ajax调用,但是它可能会冻结/减慢页面的加载,因此强制页面同步是不可取的


如果您需要包含许多.js文件,那么RequireJS是一个更好的选择。

复制整个源代码并将其粘贴到.js中是一个可行的选择吗?因为你提到了Java,而且你似乎重视组织,我认为@Fabriciomatté是对的:你可能会喜欢require.js。复制整个源代码并将其粘贴到你的.js中是可行的选择吗?否则,您可能正在寻找。因为您提到了Java,并且似乎重视组织,所以我认为@Fabriciomatté是正确的:您可能需要require.js。如果您查看函数热图,则需要调用makeTabletemp;:它使用JavaScript动态创建HTML,但是,当我使用$mytable td时,它是空的,因此这意味着qtip被正确加载。makeTable函数是在哪里定义的,或者它应该做什么?你确定它会将一个表附加到DOM吗?我不会将它附加到DOM。我还更新了我的问题,加入了makeTable函数。tab.setAttribute'id','mytable';然后document.getElementById'mytable'.appendChildtab;,看起来你有重复的ID,当你的qtip工作时会产生错误
调用makeTabletemp;:它使用JavaScript动态创建HTML,但是,当我使用$mytable td时,它是空的,因此这意味着qtip被正确加载。makeTable函数是在哪里定义的,或者它应该做什么?你确定它会将一个表附加到DOM吗?我不会将它附加到DOM。我还更新了我的问题,加入了makeTable函数。tab.setAttribute'id','mytable';然后document.getElementById'mytable'.appendChildtab;,看起来您有重复的ID,当您的qtip开始工作时会产生错误。
$(document).ready(function() {
    $.getScript('http://craigsworks.com/projects/qtip2/packages/latest/jquery.qtip.min.js');
});