我们正在使用 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 中允许它?