如何在JavaScript文件中包含库?
另外,为了将HTML页面与JavaScript实现分开,我为网站上的每一组功能创建了不同的.js文件。 如果要从HTML页面实现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
<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');
});