Javascript 将jQuery滚动到另一个库中?
我有一个项目,需要在最终用户的网站中包含一个自定义JavaScript库。有点像第三方的东西,比如像Google Analytics这样的JavaScript跟踪 我们将无法控制还可能加载哪些其他JS库/框架或哪些版本 我希望能够利用jQuery的事件委派、选择器和AJAX功能,但:Javascript 将jQuery滚动到另一个库中?,javascript,jquery,Javascript,Jquery,我有一个项目,需要在最终用户的网站中包含一个自定义JavaScript库。有点像第三方的东西,比如像Google Analytics这样的JavaScript跟踪 我们将无法控制还可能加载哪些其他JS库/框架或哪些版本 我希望能够利用jQuery的事件委派、选择器和AJAX功能,但: 不会与其他库或的其他版本产生任何冲突 可能已加载的jQuery 不要求最终用户必须思考 关于单独包含jQuery 所以,在所有jQuery中滚动似乎有些过分,但同样需要事件委托、选择器和AJAX。我知道jQue
- 不会与其他库或的其他版本产生任何冲突 可能已加载的jQuery
- 不要求最终用户必须思考 关于单独包含jQuery
(function(window){
window.myNamespace = {
_jq:null,
init: function(){
// Include jQuery
myNamespace.setJq();
},
setJq:function(){
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
(function(a,b){function G(a){...}}) // <- minified jQuery
// Stash a local copy of jQuery
myNamespace._jq = jQuery;
// Return $ and jQuery namespace
$.noConflict(true);
}
}
})(window)
(功能(窗口){
window.myNamespace={
_jq:null,
init:function(){
//包含jQuery
myNamespace.setJq();
},
setJq:function(){
/*!jQuery v1.8.2 jQuery.com | jQuery.org/license*/
(函数(a,b){函数G(a){…})//分部分查看jQuery:如果存在$,则测试它。如果存在,则不加载脚本。如果不存在,则加载它。您可以使用以下模式确保jQuery被传递到函数,然后可以将其映射到局部变量$,而不会出现问题
(函数(窗口,$){
//使用$作为本地jQuery变量
})(窗口,jQuery)如果他们使用Prototype或jQuery 1.3,则无法解决问题。实际上,我所做的是测试jQuery是否已加载以及加载的版本。如果加载了正确的版本,我只传递jQuery的引用。否则,我会使用回调动态加载jQuery,该回调返回jQuery命名空间和$back并存储noConflict本地rsion。--我将Petah的响应标记为答案,因为它本应适用于我(并且可能适用于大多数人),但库的大小(在我包含所有需要的jQuery功能之后)基本相同。很好:)很高兴你找到了一种有效的方法。为什么你不写下你自己的答案,并将其标记为未来人们的正确答案呢?因为在你自己的库中包装jquip可能是问题标题的合适答案。--我的需求发生了变化,因为我意识到我不想通过发送一个不必要的大JS资产来惩罚用户,如果y已经加载或缓存了jQuery(当我动态添加它时,我会从Google的CDN中提取)。我可能会将我的解决方案附加到问题中,并在将来为其他人指向这个答案/评论链。