包括用于计算的javascript库
Include a javascript library for calculation
我想用javascript做一些非常简单的事情。我有一个main.js文件,需要调用math.js.中的计算方法
如果我在index.html中包含这两个带有script标记的文件,首先是math.js,然后是main.js,我是否保证在我可以在main.js中使用它之前,math.jss已经加载完毕?
如果没有,我需要像我在这里读到的那样做一些过度的黑客攻击吗?我如何在另一个JavaScript文件中包含一个JavaScript文件?或者更糟的是,因为我甚至看不到在这个链接中是如何实际考虑依赖性的。
更新:为什么我不能像Dashcode看起来那样做?我如何添加我的库以加载Dashcode部件,即只使用document.write("…")?事实上,如果库大于main.js,document.write在非常慢的连接上是否足够健壮?
在math.js中设置一个变量,如果该变量存在,则在main.js中proove。
var mathLoaded = true;
在main.js:中
function loaded() {
return ((typeof mathLoaded) !== 'undefined');
}
编辑:
现在你可以启动一个等待功能,直到它被加载:
function wait() {
if(loaded()) {
//doSomething();
} else {
window.setTimeout(function() { wait(); }, 0);
}
}
window.setTimeout(function() { wait(); }, 0);
您可以查看RequireJS以确保加载了依赖项
此外,JS从上到下被加载和解析。无论哪个先出现在源中,都会先获取并首先解析(但这并不能保证顺序,因为某些文件的服务器可能会很慢)。这就是为什么建议如果您使用库和工具包(如jQuery和其他工具),则应该先加载它们。
load
事件中调用初始代码。甚至在加载页面所需的所有文件后,它也会触发。
为什么不使用window.onload
?
window.onload = function () {
//your code here.
}
或者真的很喜欢跨浏览器的addEvent
功能?
var libJS = {
addEvent: function (obj, type, fn) {
if (obj.addEventListener) {
obj.addEventListener(type, fn, false);
return true;
} else if (obj.attachEvent) {
obj['e' + type + fn] = fn;
obj[type + fn] = function () {
obj['e' + type + fn](window.event);
}
var r = obj.attachEvent('on' + type, obj[type + fn]);
return r;
} else {
obj['on' + type] = fn;
return true;
}
}
}
它将功能正确地附加到事件。。。
libJS.addEvent(window, 'load', someMainJsFunction); //add to window.onload
相关文章:
- 使用CSS或JavaScript计算分页符的数量
- JavaScript计算帮助(乘以时间)
- 四舍五入JavaScript计算
- 获取唯一值并使用javascript计算金额总和
- JavaScript计算项目的总价
- 如何用javascript计算从现在开始的时间
- 再次使用JavaScript计算两个日期之间的天数
- 删除项目时的JavaScript计算
- 需要JavaScript计算帮助
- JavaScript-计算两个日期之间的天数(包括结束日期)
- JavaScript:计算字符串中特定整数的实例
- 使用 JavaScript 计算并添加表单输入的值
- 使用 javascript 计算 Telerik RadDatePicker 日期差
- 使用 JavaScript 计算 Blob 的哈希值
- Javascript计算明年的同一个工作日
- 如何将我通过JavaScript计算的自定义金额作为金额发送到PHP表单
- javascript计算价格的小算法
- Javascript计算不适用于第二个文本字段
- javascript计算字段比较算法
- JavaScript计算不同于Firefox的图像尺寸(?)