检查 javascript lib 是否已经存在
Check whether javascript lib already exist
我可以检查我的页面中是否已经存在我的JavaScript ext-lib(例如fancybox插件(吗?我使用liferayportlet,它可以在一个页面中放置两个相同的portlet,我现在已经有一些脚本冲突。(布局配置面板上的Liferay AUI脚本,某些资产发布器中的滑块...
如果您正在测试本机 JavaScript 函数(即内置或使用 javascript 创建(,那么:
if (typeof foo == 'function')
将始终工作,无论您使用哪个库。 例如,要测试 jQuery 是否可用:
if (typeof jQuery == 'function')
我不会信任主机对象的jQuery isFunction方法,如果你不测试主机对象,typeof是完全可靠的。
编辑
哦,我应该补充一点,如果你正在测试主机对象的方法,有很多方面需要考虑。在绝大多数情况下,以下内容就足够了:
if (hostObject && hostObject.method) {
// call hostObject.method
}
值得注意的是,主机对象不需要符合 ECMA-262(尽管大多数现代实现在很大程度上都符合,至少对于 DOM 对象而言(。有许多正在使用的实现具有主机对象,当使用typeof
进行测试时,这些对象将返回"未知"或类似内容,一些较旧的对象甚至会抛出错误。
如果使用 object.prototype.toString.call(hostObject)
(jQuery 的 isFunction 函数使用(进行测试,某些主机对象会抛出错误,因此除非您要实现健壮的 isHostMethod 函数,否则上述操作在绝大多数情况下都可以。
要检查是否加载了通用 JS lib(又名不是 jQuery 插件(,请测试其函数之一:
if ($.isFunction(pluginFunction)) {
// Code to run if generic library is loaded
}
要检查是否加载了 jQuery 插件:
if (jQuery().pluginName) {
// Code to run if plugin is loaded
}
希望这有帮助!
相关文章:
- 用于检查数组中是否存在元素的javascript自定义方法
- 是否存在React Native“;WEB代码安全防护”;
- 验证会话中是否存在对象's数组
- 如何查找值是否存在于二叉树中
- 检查是否存在使用chrome扩展的javascript库
- 是否存在Javascript Liferay Service库的文档?如何处理错误情况
- 测试mongo脚本中是否存在参数
- 检查搜索结果是否存在多次如果是,则在Javascript中只显示一个结果
- 使用js/jQuery检查对象(而不是元素)是否真的存在
- 检查数组中是否存在字符串值,并返回找到的数组值js
- 如何通过json对象选项卡中的Id来检查对象是否存在
- 检查是否存在任意控制器/操作
- 如何检查一个字符串的所有字符是否都存在于另一个字符串中
- Javascript滑块不滑动,如何判断是否存在JS冲突
- 根据手机上是否存在文件,在jQuery mobile中动态填充列表视图
- javascript测试是否存在两个标志中的任何一个
- 如何使用javascript检查移动sd卡中是否存在文件
- 当提供函数名称时,检查函数是否存在于同一作用域中
- 需要帮助使用JQuery.inArray()检查值是否存在
- 在运行Javascript/jQuery中的函数之前,检查元素是否存在是否更具性能