1

我试图通过减少 WP 网站上的 JS 文件数量来减少请求数量。我成功地将大约 7 个 javascript 文件合并为一个 ( site.js)。现在,我正在使用一个有自己的 JS 文件 ( pluginA.js) 的插件,我想pluginA.js在该 site.js 中包含 ()。但是,如果我只是将 pluginA JS 内容复制到 site.js,然后将 location 更改为/files/site.js,则 firebug 的 NET 选项卡显示 site.js 被请求/调用了两次。我想这是由于wp_enqueue_script.

我怎样才能让它不调用 site.js 第二次,而只是查看已经加载的 site.js?也许有替代方案wp_enqueue_script

插件的php文件:

add_action( 'wp_enqueue_scripts', 'testplugin_scripts');
    function testplugin_scripts() {
        /*global $testplugin_version; */
            $default_selector = 'li:has(ul) > a';
            $default_selector_leaf = 'li li li:not(:has(ul)) > a';
       wp_enqueue_scripts('test-plugin', site_url('/files/site.js', __FILE__), array('jquery'), $testplugin_version);
            $params = array(
                    'selector' => apply_filters('testplugin_selector', $default_selector),
                    'selector_leaf' => apply_filters('testplugin_selector_leaf', $default_selector_leaf)
            );
            wp_localize_script('test-plugin', 'testplugin_params', $params);
    }
4

2 回答 2

0

如果将其单独包含或将其包含在您的 site.js 文件中之间的加载时间差异很小,那么我将不理会 plugin.js。唯一的原因是,如果您继续添加到您的 site.js,然后下载新版本的插件,您可能会遇到困难。作为补偿,我会使用 JS 压缩器,它可以显着减小 site.js 的大小,因此可能比简单地减少 HTTP 请求的数量提供更大的好处。

于 2012-11-24T04:43:05.570 回答
0

解决方案(有点hacky):不包含site.js,因此脚本只会被调用一次(来自插件)

于 2012-11-24T05:01:26.740 回答