加载2个不同版本的JS文件

时间:2017-06-20 作者:Sid

我正在运行一个旧版本(3.3.1)和更旧主题的WP站点。由于某些原因,我无法更新或更改任何代码文件。

我现在遇到的问题是,主题使用的是本地Jquery版本1.3.2,因为一些管理页面的响应很奇怪。

Jquery是硬编码的,没有任何钩子,因此在不修改核心文件的情况下删除是不可能的(我不允许这样做)。

我在上面添加了一个动作挂钩admin_head 加载所需版本的JS

function modify_jquery() {  
    echo \'<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>\';
}
add_action(\'admin_head\', \'modify_jquery\');
这解决了我的问题,一切都如期进行。

我唯一的问题是,这(加载2个不同版本的JS文件)会不会在任何其他页面中产生任何问题?

我随机检查了几页,但什么也没找到。有什么建议吗?

1 个回复
SO网友:Rarst

我唯一的问题是,这(加载2个不同版本的JS文件)会不会在任何其他页面中产生任何问题?

可能的WP在中加载jQuerynoConflict 模式,意味着它不占用典型$ 变量,但仅限于jQuery 一然而,jQuery的另一个副本很可能会引起争论jQuery 一个是核心版本。

本质上这是可能的,但需要非常明确地实现noConflict 因此,两个版本是分开的,仅从打算使用该特定版本的代码中调用。

在典型的主题案例中,修复代码以正确使用当前jQuery版本可能比实现多版本环境更容易。

结束