我正在尝试编写一些小功能,这些功能基本上为 SharePoint 页面增加了便利层。这些“便利层”基本上是包裹在 ScripLink 功能中的 JQuery。例如,我有一个可以使用 JQuery 禁用页面上的所有复杂下拉菜单。我有另一个用更好的日期字段和更好的日期选择器替换所有日期字段。我还有一个摆脱了他们用于时间的那些荒谬的下拉列表,这看起来像是有人在 1995 年写的东西。
我希望所有这些功能都是自包含和独立的。但是我偶然发现了一些问题。
第一个问题是我并不总是知道是否加载了 jquery 或 jquery-ui,即使我检查了它。例如,在第一个功能中,我检查 if (typeof JQuery == 'undefined'),如果我所在的页面包含 JQuery,它会正常工作。如果没有,那也没关系..我添加它。但是,如果我在 scriptlink 中有另一个 jquery 功能,它会在第一个 scriptlink 有机会添加它之前检查是否 (typeof JQuery == 'undefined')。比赛条件!
第二个也是更严重的问题是,我所在的页面有旧版本的 jquery-ui (1.8.12),据我所知,它不支持我在 Better 中使用的日期选择器日期功能。我在该功能中使用的版本是 1.10.2。但是当功能运行时,看到 jquery.ui 已定义,它没有定义它。这意味着 datepicker 最终是未定义的。
有没有更好的方法在页面上定义和注册 jquery 库,所以我可以在特定站点上混合匹配我想要的任何 JQuery SP 功能?