美文网首页我爱编程
jQuery版本冲突

jQuery版本冲突

作者: 折叠小猪 | 来源:发表于2017-01-17 18:42 被阅读0次

背景

在做一个地图功能,需要能引入其他的地图来操作,之前用高德特方便,百度的接口感觉也很好写,写到一半被告知要全部改成另一个公司的地图,无接口,自己瞅。

他们的地图引入了1.8.2的jQuery,本身系统的布局页中引入的版本是3.1.1。开始没有意识到是版本冲突,出现的错误一直是对应的marker画不上去(用的Chrome浏览器)但是F12打开调试面板的时候就能显示了,我现在还不知道是为什么。可能和版本冲突有关吧。

remove

我用puer单独发布了地图,相同的功能,可以实现。
删掉了布局页的引入,marker的显示、添加都没有问题,应该就是冲突咯。所以咋办呢?

我开始天真的想到,我直接把高版本删掉不就好了吗,谜一样奇怪的思维,想直接$.remove();掉,以为没问题了。

中间本来想在选择器中用正则去匹配版本号格式,失败告终,最后用的src*来包含固定了版本号的jQuery(ps:因为文件名为jQuery-3.1.1.js这样),src^和src$分别能匹配前后,不过尝试里面写正则失败。jQuery选择器文档

remove掉以后发现3.1.1是已经加载到内存去了的,你把引入的链接删掉有什么用呢,愚蠢。有没有办法?在stackoverflow里面也有人聊这个,反正就是你删不掉的啦,除非用delete关键字,当然是非常不推荐的啦,我觉得我最近都在干些秀下限的事儿。嗯,好,那怎么办?你要上天了。

jQuery.noConflict()

版本冲突之前也尝试过jQuery.noConflict(),因为除了他们的冲突,同页面还有个jQuery.autoComplete用来做补全,作者说能兼容到1.7以上,比bootstrap好,当前用的bootstrap版本只能兼容到1.9.2还是多少,意思就是抛弃IE咯,他们用的这个jQuery版本还真是尴尬。

页面中引用的高版本在前,低版本在后。除外还引了autoComplete。直接这样$("").autoComplete会一直报is not a function。
所以用了匿名函数用闭包画了个圈,里面var $ = jQuery.noConflict();,这样闭包里面的$就变成了高版本。不知道我当时咋想的,其实按高在前低在后,最后autoComplete最后肯定绑到了低版本上,但是加了这个后在闭包外面引用autoComplete不会报错,但是也不生效,真的是很尴尬。

因为当前页面用了bootstrap的modal弹窗,而且也是布局页中引入的,所以丢不掉。所以换了个页面引入,不显示marker依然存在,autoComplete倒是生效了。

当时加autoComplete是考虑用户体验,估计最后为了地图要放弃吧,现在还是没能找到解决marker问题的方法。

删掉任意一个引用

删高版本

这是最愚蠢的尝试了,出了一堆错误,看到Bootstrap要求1.9.2的时候就放弃这个愚蠢的想法了。

删低版本

marker不显示不显示就是不显示。

以上2017.1.17 折腾两天了,没结果,继续加油。

相关文章

  • jQuery版本冲突

    背景 在做一个地图功能,需要能引入其他的地图来操作,之前用高德特方便,百度的接口感觉也很好写,写到一半被告知要全部...

  • jquery冲突解决同时使用多个版本jQuery

    原来用的jquery1;新的功能系统jquery2;不想改1的老代码; 添加如下代码,后面使用$2表示jquery即可。

  • jquery的noConflict()方法

    避免$的冲突:jQuery中noConflict()方法的使用 为了避免和其他框架的冲突,jQuery提供了noC...

  • jQuery事件学习篇

    资料来源 w3cschool 1. jQuery名称冲突 解决方法 var $jquery = jQuery.no...

  • jQuery核心函数$()

    jQuery核心函数jQuery对象是什么jQuery核心函数命名冲突 1. jQuery核心函数 核心函数括号内...

  • ecshop引入layui文件上传的坑

    刚开始认为是jquery文件的冲突,经过不断的调整位置,以及切换版本,还是会报错。 通过各种查找,终于在这篇帖子[...

  • npm 查看模块全部版本

    npm 查看模块全部版本:(jquery) npm view jquery versions 安装指定版本: (j...

  • 通读jquery源码感悟 —— 前言

    一、jQuery版本 jQuery版本是jquery-2.0.3 二、核心模块 21 - 94行:定义了一些变量和...

  • 关于jQuery

    jQuery1.x版本和jQuery2.x版本有什么区别? jQuery1.x支持IE6,7,8,但是jQuery...

  • 30.jQuery简介

    1,JQuery简单背景介绍 2,JQuery版本介绍 3,JQuery文件介绍

网友评论

    本文标题:jQuery版本冲突

    本文链接:https://www.haomeiwen.com/subject/jvambttx.html