Sym 上的评论同步到 Solo 时 ID 重复的问题

本贴最后更新于 2989 天前,其中的信息可能已经斗转星移

Sym 上的评论同步到 Solo 时,可能会报下面的错误,看着像是主键重复的错误,但是评论也是同步过去了的,这就奇怪了。评论的 ID 也是同步过来的吗?如果是的话这样很容易重复,个人觉得同步过来的时候应该重新生成 ID 。

[ERROR]-[2017-04-23 23:27:16]-[org.b3log.latke.repository.jdbc.JdbcRepository:149]: add:Unique index or primary key violation: "PRIMARY_KEY_5 ON PUBLIC.B3_SOLO_COMMENT(OID) VALUES ('1492961195666', 96)"; SQL statement: insert into b3_solo_comment(commentSharpURL,commentName,commentThumbnailURL,commentOnId,commentEmail,commentURL,commentDate,commentOriginalCommentId,commentOnType,oId,commentContent,commentOriginalCommentName) values (?,?,?,?,?,?,?,?,?,?,?,?) [23505-190] org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY_KEY_5 ON PUBLIC.B3_SOLO_COMMENT(OID) VALUES ('1492961195666', 96)"; SQL statement: insert into b3_solo_comment(commentSharpURL,commentName,commentThumbnailURL,commentOnId,commentEmail,commentURL,commentDate,commentOriginalCommentId,commentOnType,oId,commentContent,commentOriginalCommentName) values (?,?,?,?,?,?,?,?,?,?,?,?) [23505-190] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:102) at org.h2.mvstore.db.MVSecondaryIndex.checkUnique(MVSecondaryIndex.java:231) at org.h2.mvstore.db.MVSecondaryIndex.add(MVSecondaryIndex.java:190) at org.h2.mvstore.db.MVTable.addRow(MVTable.java:704) at org.h2.command.dml.Insert.insertRows(Insert.java:156) at org.h2.command.dml.Insert.update(Insert.java:114) at org.h2.command.CommandContainer.update(CommandContainer.java:78) at org.h2.command.Command.executeUpdate(Command.java:253) at org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:198) at org.b3log.latke.repository.jdbc.util.JdbcUtil.executeSql(JdbcUtil.java:89) at org.b3log.latke.repository.jdbc.JdbcRepository.add(JdbcRepository.java:147) at org.b3log.latke.repository.AbstractRepository.add(AbstractRepository.java:117) at org.b3log.solo.repository.impl.CommentRepositoryImpl_$$_jvst889_37._d0add(CommentRepositoryImpl_$$_jvst889_37.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.ioc.bean.JavassistMethodHandler.invoke(JavassistMethodHandler.java:101) at org.b3log.solo.repository.impl.CommentRepositoryImpl_$$_jvst889_37.add(CommentRepositoryImpl_$$_jvst889_37.java) at org.b3log.solo.api.symphony.CommentReceiver.addComment(CommentReceiver.java:250) at org.b3log.solo.api.symphony.CommentReceiver_$$_jvst889_48._d0addComment(CommentReceiver_$$_jvst889_48.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.ioc.bean.JavassistMethodHandler.invoke(JavassistMethodHandler.java:101) at org.b3log.solo.api.symphony.CommentReceiver_$$_jvst889_48.addComment(CommentReceiver_$$_jvst889_48.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.servlet.handler.MethodInvokeHandler.handle(MethodInvokeHandler.java:58) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.AdviceHandler.handle(AdviceHandler.java:108) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.ArgsHandler.handle(ArgsHandler.java:60) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.RequestDispatchHandler.handle(RequestDispatchHandler.java:92) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.RequestPrepareHandler.handle(RequestPrepareHandler.java:45) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.StaticResourceHandler.handle(StaticResourceHandler.java:119) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.DispatcherServlet.service(DispatcherServlet.java:84) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.b3log.solo.filter.InitCheckFilter.doFilter(InitCheckFilter.java:87) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.b3log.solo.filter.PermalinkFilter.doFilter(PermalinkFilter.java:92) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.b3log.latke.servlet.filter.EncodingFilter.doFilter(EncodingFilter.java:71) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source) [ERROR]-[2017-04-23 23:27:16]-[org.b3log.latke.servlet.HttpControl:104]: Request [ method=PUT, URL=http://zixizixi.cn/apis/symphony/comment, contentType=null, characterEncoding=UTF-8, local=[ addr=0:0:0:0:0:0:0:1, port=****, name=0:0:0:0:0:0:0:1], remote=[ addr=121.40.142.200, port=61755, host=0:0:0:0:0:0:0:1], headers=[ Cache-Control=no-cache Accept=text/html, image/gif, image/jpeg, *; q=.2, */*; q=.2 Connection=close User-Agent=Java/1.8.0_121 X-Forwarded-For=121.40.142.200 Host=zixizixi.cn REMOTE-HOST=121.40.142.200 Pragma=no-cache Content-Length=374 X-Real-IP=121.40.142.200 ] ] processing failed java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.servlet.handler.MethodInvokeHandler.handle(MethodInvokeHandler.java:58) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.AdviceHandler.handle(AdviceHandler.java:108) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.ArgsHandler.handle(ArgsHandler.java:60) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.RequestDispatchHandler.handle(RequestDispatchHandler.java:92) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.RequestPrepareHandler.handle(RequestPrepareHandler.java:45) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.handler.StaticResourceHandler.handle(StaticResourceHandler.java:119) at org.b3log.latke.servlet.HttpControl.nextHandler(HttpControl.java:99) at org.b3log.latke.servlet.DispatcherServlet.service(DispatcherServlet.java:84) at javax.servlet.http.HttpServlet.service(HttpServlet.java:790) at org.eclipse.jetty.servlet.ServletHolder.handle(ServletHolder.java:800) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1669) at org.b3log.solo.filter.InitCheckFilter.doFilter(InitCheckFilter.java:87) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.b3log.solo.filter.PermalinkFilter.doFilter(PermalinkFilter.java:92) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.b3log.latke.servlet.filter.EncodingFilter.doFilter(EncodingFilter.java:71) at org.eclipse.jetty.servlet.ServletHandler$CachedChain.doFilter(ServletHandler.java:1652) at org.eclipse.jetty.servlet.ServletHandler.doHandle(ServletHandler.java:585) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:143) at org.eclipse.jetty.security.SecurityHandler.handle(SecurityHandler.java:577) at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:223) at org.eclipse.jetty.server.handler.ContextHandler.doHandle(ContextHandler.java:1127) at org.eclipse.jetty.servlet.ServletHandler.doScope(ServletHandler.java:515) at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:185) at org.eclipse.jetty.server.handler.ContextHandler.doScope(ContextHandler.java:1061) at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141) at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:97) at org.eclipse.jetty.server.Server.handle(Server.java:497) at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:310) at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:245) at org.eclipse.jetty.io.AbstractConnection$2.run(AbstractConnection.java:540) at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:635) at org.eclipse.jetty.util.thread.QueuedThreadPool$3.run(QueuedThreadPool.java:555) at java.lang.Thread.run(Unknown Source) Caused by: org.b3log.latke.repository.jdbc.JDBCRepositoryException: org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY_KEY_5 ON PUBLIC.B3_SOLO_COMMENT(OID) VALUES ('1492961195666', 96)"; SQL statement: insert into b3_solo_comment(commentSharpURL,commentName,commentThumbnailURL,commentOnId,commentEmail,commentURL,commentDate,commentOriginalCommentId,commentOnType,oId,commentContent,commentOriginalCommentName) values (?,?,?,?,?,?,?,?,?,?,?,?) [23505-190] at org.b3log.latke.repository.jdbc.JdbcRepository.add(JdbcRepository.java:150) at org.b3log.latke.repository.AbstractRepository.add(AbstractRepository.java:117) at org.b3log.solo.repository.impl.CommentRepositoryImpl_$$_jvst889_37._d0add(CommentRepositoryImpl_$$_jvst889_37.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.ioc.bean.JavassistMethodHandler.invoke(JavassistMethodHandler.java:101) at org.b3log.solo.repository.impl.CommentRepositoryImpl_$$_jvst889_37.add(CommentRepositoryImpl_$$_jvst889_37.java) at org.b3log.solo.api.symphony.CommentReceiver.addComment(CommentReceiver.java:250) at org.b3log.solo.api.symphony.CommentReceiver_$$_jvst889_48._d0addComment(CommentReceiver_$$_jvst889_48.java) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.b3log.latke.ioc.bean.JavassistMethodHandler.invoke(JavassistMethodHandler.java:101) at org.b3log.solo.api.symphony.CommentReceiver_$$_jvst889_48.addComment(CommentReceiver_$$_jvst889_48.java) ... 43 more Caused by: org.h2.jdbc.JdbcSQLException: Unique index or primary key violation: "PRIMARY_KEY_5 ON PUBLIC.B3_SOLO_COMMENT(OID) VALUES ('1492961195666', 96)"; SQL statement: insert into b3_solo_comment(commentSharpURL,commentName,commentThumbnailURL,commentOnId,commentEmail,commentURL,commentDate,commentOriginalCommentId,commentOnType,oId,commentContent,commentOriginalCommentName) values (?,?,?,?,?,?,?,?,?,?,?,?) [23505-190] at org.h2.message.DbException.getJdbcSQLException(DbException.java:345) at org.h2.message.DbException.get(DbException.java:179) at org.h2.message.DbException.get(DbException.java:155) at org.h2.index.BaseIndex.getDuplicateKeyException(BaseIndex.java:102) at org.h2.mvstore.db.MVSecondaryIndex.checkUnique(MVSecondaryIndex.java:231) at org.h2.mvstore.db.MVSecondaryIndex.add(MVSecondaryIndex.java:190) at org.h2.mvstore.db.MVTable.addRow(MVTable.java:704) at org.h2.command.dml.Insert.insertRows(Insert.java:156) at org.h2.command.dml.Insert.update(Insert.java:114) at org.h2.command.CommandContainer.update(CommandContainer.java:78) at org.h2.command.Command.executeUpdate(Command.java:253) at org.h2.jdbc.JdbcPreparedStatement.execute(JdbcPreparedStatement.java:198) at org.b3log.latke.repository.jdbc.util.JdbcUtil.executeSql(JdbcUtil.java:89) at org.b3log.latke.repository.jdbc.JdbcRepository.add(JdbcRepository.java:147) ... 59 more
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    439 引用 • 1238 回帖 • 589 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
iTanken
飘风不终朝,骤雨不终日。 成都

推荐标签 标签

  • Office

    Office 现已更名为 Microsoft 365. Microsoft 365 将高级 Office 应用(如 Word、Excel 和 PowerPoint)与 1 TB 的 OneDrive 云存储空间、高级安全性等结合在一起,可帮助你在任何设备上完成操作。

    5 引用 • 34 回帖
  • PWL

    组织简介

    用爱发电 (Programming With Love) 是一个以开源精神为核心的民间开源爱好者技术组织,“用爱发电”象征开源与贡献精神,加入组织,代表你将遵守组织的“个人开源爱好者”的各项条款。申请加入:用爱发电组织邀请帖
    用爱发电组织官网:https://programmingwithlove.stackoverflow.wiki/

    用爱发电组织的核心驱动力:

    • 遵守开源守则,体现开源&贡献精神:以分享为目的,拒绝非法牟利。
    • 自我保护:使用适当的 License 保护自己的原创作品。
    • 尊重他人:不以各种理由、各种漏洞进行未经允许的抄袭、散播、洩露;以礼相待,尊重所有对社区做出贡献的开发者;通过他人的分享习得知识,要留下足迹,表示感谢。
    • 热爱编程、热爱学习:加入组织,热爱编程是首当其要的。我们欢迎热爱讨论、分享、提问的朋友,也同样欢迎默默成就的朋友。
    • 倾听:正确并恳切对待、处理问题与建议,及时修复开源项目的 Bug ,及时与反馈者沟通。不抬杠、不无视、不辱骂。
    • 平视:不诋毁、轻视、嘲讽其他开发者,主动提出建议、施以帮助,以和谐为本。只要他人肯努力,你也可能会被昔日小看的人所超越,所以请保持谦虚。
    • 乐观且活跃:你的努力决定了你的高度。不要放弃,多年后回头俯瞰,才会发现自己已经成就往日所仰望的水平。积极地将项目开源,帮助他人学习、改进,自己也会获得相应的提升、成就与成就感。
    1 引用 • 487 回帖 • 2 关注
  • Shell

    Shell 脚本与 Windows/Dos 下的批处理相似,也就是用各类命令预先放入到一个文件中,方便一次性执行的一个程序文件,主要是方便管理员进行设置或者管理用的。但是它比 Windows 下的批处理更强大,比用其他编程程序编辑的程序效率更高,因为它使用了 Linux/Unix 下的命令。

    126 引用 • 74 回帖
  • 职场

    找到自己的位置,萌新烦恼少。

    127 引用 • 1708 回帖 • 3 关注
  • IPFS

    IPFS(InterPlanetary File System,星际文件系统)是永久的、去中心化保存和共享文件的方法,这是一种内容可寻址、版本化、点对点超媒体的分布式协议。请浏览 IPFS 入门笔记了解更多细节。

    20 引用 • 245 回帖 • 233 关注
  • 支付宝

    支付宝是全球领先的独立第三方支付平台,致力于为广大用户提供安全快速的电子支付/网上支付/安全支付/手机支付体验,及转账收款/水电煤缴费/信用卡还款/AA 收款等生活服务应用。

    29 引用 • 347 回帖 • 1 关注
  • Sandbox

    如果帖子标签含有 Sandbox ,则该帖子会被视为“测试帖”,主要用于测试社区功能,排查 bug 等,该标签下内容不定期进行清理。

    439 引用 • 1238 回帖 • 589 关注
  • 小说

    小说是以刻画人物形象为中心,通过完整的故事情节和环境描写来反映社会生活的文学体裁。

    32 引用 • 108 回帖 • 1 关注
  • SQLServer

    SQL Server 是由 [微软] 开发和推广的关系数据库管理系统(DBMS),它最初是由 微软、Sybase 和 Ashton-Tate 三家公司共同开发的,并于 1988 年推出了第一个 OS/2 版本。

    21 引用 • 31 回帖 • 1 关注
  • OneNote
    1 引用 • 3 回帖
  • 房星科技

    房星网,我们不和没有钱的程序员谈理想,我们要让程序员又有理想又有钱。我们有雄厚的房地产行业线下资源,遍布昆明全城的 100 家门店、四千地产经纪人是我们坚实的后盾。

    6 引用 • 141 回帖 • 606 关注
  • Follow
    4 引用 • 12 回帖 • 4 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    413 引用 • 3591 回帖
  • 思源笔记

    思源笔记是一款隐私优先的个人知识管理系统,支持完全离线使用,同时也支持端到端加密同步。

    融合块、大纲和双向链接,重构你的思维。

    26122 引用 • 108461 回帖
  • Outlook
    1 引用 • 5 回帖 • 2 关注
  • Ruby

    Ruby 是一种开源的面向对象程序设计的服务器端脚本语言,在 20 世纪 90 年代中期由日本的松本行弘(まつもとゆきひろ/Yukihiro Matsumoto)设计并开发。在 Ruby 社区,松本也被称为马茨(Matz)。

    7 引用 • 31 回帖 • 262 关注
  • Docker

    Docker 是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的容器中,然后发布到任何流行的操作系统上。容器完全使用沙箱机制,几乎没有性能开销,可以很容易地在机器和数据中心中运行。

    497 引用 • 934 回帖
  • Quicker

    Quicker 您的指尖工具箱!操作更少,收获更多!

    37 引用 • 157 回帖 • 1 关注
  • WebSocket

    WebSocket 是 HTML5 中定义的一种新协议,它实现了浏览器与服务器之间的全双工通信(full-duplex)。

    48 引用 • 206 回帖 • 283 关注
  • RemNote
    2 引用 • 16 回帖 • 25 关注
  • JVM

    JVM(Java Virtual Machine)Java 虚拟机是一个微型操作系统,有自己的硬件构架体系,还有相应的指令系统。能够识别 Java 独特的 .class 文件(字节码),能够将这些文件中的信息读取出来,使得 Java 程序只需要生成 Java 虚拟机上的字节码后就能在不同操作系统平台上进行运行。

    180 引用 • 120 回帖 • 4 关注
  • JWT

    JWT(JSON Web Token)是一种用于双方之间传递信息的简洁的、安全的表述性声明规范。JWT 作为一个开放的标准(RFC 7519),定义了一种简洁的,自包含的方法用于通信双方之间以 JSON 的形式安全的传递信息。

    20 引用 • 15 回帖 • 26 关注
  • OpenStack

    OpenStack 是一个云操作系统,通过数据中心可控制大型的计算、存储、网络等资源池。所有的管理通过前端界面管理员就可以完成,同样也可以通过 Web 接口让最终用户部署资源。

    10 引用 • 2 关注
  • Openfire

    Openfire 是开源的、基于可拓展通讯和表示协议 (XMPP)、采用 Java 编程语言开发的实时协作服务器。Openfire 的效率很高,单台服务器可支持上万并发用户。

    6 引用 • 7 回帖 • 121 关注
  • Swift

    Swift 是苹果于 2014 年 WWDC(苹果开发者大会)发布的开发语言,可与 Objective-C 共同运行于 Mac OS 和 iOS 平台,用于搭建基于苹果平台的应用程序。

    34 引用 • 37 回帖 • 556 关注
  • 自由行
    2 关注
  • jQuery

    jQuery 是一套跨浏览器的 JavaScript 库,强化 HTML 与 JavaScript 之间的操作。由 John Resig 在 2006 年 1 月的 BarCamp NYC 上释出第一个版本。全球约有 28% 的网站使用 jQuery,是非常受欢迎的 JavaScript 库。

    63 引用 • 134 回帖 • 734 关注