首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何检查某个JS文件是否包含在网页中?

问如何检查某个JS文件是否包含在网页中?
EN

Stack Overflow用户
提问于 2011-07-10 20:20:30
回答 3查看 6.2K关注 0票数 3

在我的自定义JS代码文件中,我使用了各种插件,例如,用于JQuery的砖石插件。但是,我没有在每个页面或母版页文件级别(在一些是,一些不是)上包含插件,但是我确实在每个页面上都包含了我的自定义文件。因此,如果砖石插件丢失,我的JS文件中的代码将发出错误。

如果有人能给出一个解决方案,说明如何:

  1. 检查某些JS插件是否被引用(包括),然后只运行代码,
  2. (可选)如果文件丢失,则在运行时包含该文件。

我让它使用JQuery和JQuery UI,因为它们都在DOM中引入了一个类(jQueryandjquery.ui对象),但是还有其他插件,比如lightbox脚本、前面提到的砌体等等。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2011-07-10 20:24:22

与其检查某个特定的JavaScript文件是否已被“包含”,我只想检查您所需的功能是否可用(也就是说,如果您需要一个名为foo的函数,只需按照typeof foo == 'undefined'的方式做一些事情,看看它是否存在.)。

票数 5
EN

Stack Overflow用户

发布于 2011-07-10 20:24:02

您试图做的可能是一个不好的想法,但无论如何,这里是如何确定一个给定的插件是否已经定义。在jQuery中,他们只是jQuery作用域的命名空间

代码语言:javascript
复制
if(!jQuery().somePlugin) {
    // the plugin is not loaded => load it:
    jQuery.getScript('/url_of_the_plugin', function() {
        // the plugin is now loaded => use it
    });
}
票数 3
EN

Stack Overflow用户

发布于 2011-07-10 20:27:38

您只能检查其类或方法是否已定义,在您的情况下:

代码语言:javascript
复制
if (typeof($.fn.masonry) == 'undefined') ...

无论如何,我建议将每个页面上的每个脚本都压缩成一个文件。下载和解析可能不需要的代码的成本通常远远低于拥有多个HTTP请求的代价。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6643403

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档