如何在Silverstripe中使用自己的jQuery版本

时间:2011-10-04 22:20:17

标签: jquery silverstripe

我们正在使用Silverstripe开发一些Web应用程序,并希望使用最新版本的jQuery。

Sapphire,Silverstripe运行的框架需要使用以下代码的(较旧的)jQuery版本:

Requirements(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js'); 

这包括所有生成的网页上此文件的链接。我们可以使用Page_Controller类框架之外的以下代码阻止此要求:

Requirements::block(SAPPHIRE_DIR .'/thirdparty/jquery/jquery.js'); 

这将从所有生成的网页中删除包含,但它也会从Silverstripe CMS中删除包含 - 导致其中断。

(几乎)简单的解决方法是让我们将我们的jQuery版本复制到/sapphire/thirdparty/jquery/jquery.js中 - 但我们正在努力保持Sapphire框架不受影响并保持清洁,以便将来升级。

这也会产生问题,因为使用原生的Silverstripe要求意味着jQuery几乎在页面上最后加载 - 破坏了我们的一些功能。

是否有阻止在网站上加载Silverstripe的jQuery但在CMS中允许它?

1 个答案:

答案 0 :(得分:4)

SilverStripe在您的网页中包含jQuery,因为您的$SilverStripeNavigator文件中有.ss或您正在使用的模块需要它。此外,将Requirements::block();添加到Page_Controller不应影响CMS。