我在 official doc 中读到在 Google CDN 中,这是 jQuery 的 src:
<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min.js"></script>
但是,每次版本更新时都必须更改我的 jQuery src 引用,这很烦人。
我发现,如果我将版本设置为 1,那么 Google 会返回最新版本的 jQuery。
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js
/*! jQuery v1.8.2 jquery.com | jquery.org/license */
这是正确的做法吗?是否有任何官方 URL 可以引用托管在 Google CDN 上的最新版本的 jQuery?
最佳答案
更新 7/3/2014:截至目前,jquery-latest.js 不再更新。
来自jQuery blog :
We know that http://code.jquery.com/jquery-latest.js is abused because of the CDN statistics showing it’s the most popular file. That wouldn’t be the case if it was only being used by developers to make a local copy.
We have decided to stop updating this file, as well as the minified copy, keeping both files at version 1.11.1 forever.
The Google CDN team has joined us in this effort to prevent inadvertent web breakage and no longer updates the file at http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.js. That file will stay locked at version 1.11.1 as well.
由于历史原因,此处保留了以下现在没有实际意义的答案。
Don't do this. Seriously, don't.
链接到主要版本的 jQuery 确实有效,但这是个坏主意——随着每次十进制更新,都会添加和弃用全新的功能。如果您在未完全测试您的代码的情况下自动更新 jQuery,那么如果某些关键方法的 API 已更改,您将面临意外的风险。
这是您应该做的:使用最新版本的 jQuery 编写您的代码。测试它、调试它,并在它准备好投入生产时发布它。
然后,当新版本的 jQuery 推出时,问问自己:我的代码中需要这个新版本吗?例如,是否有一些以前不存在的关键浏览器兼容性,或者它会在大多数浏览器中加速我的代码吗?
如果答案是“否”,请不要费心将您的代码更新到最新的 jQuery 版本。 Doing so might even add NEW errors to your code which didn't exist before .任何负责任的开发人员都不会在未进行彻底测试的情况下自动包含来自另一个站点的新代码。
没有充分的理由始终使用最新版本的 jQuery。旧版本在 CDN 上仍然可用,如果它们适合您的目的,那么为什么要替换它们呢?
次要但可能更重要的问题是缓存。许多人链接到 CDN 上的 jQuery,因为许多其他网站也这样做,并且您的用户很有可能已经缓存了该版本。
问题是,caching only works if you provide a full version number .如果您提供了部分版本号,则 future 的缓存不会发生——因为如果发生了,一些用户会从同一个 URL 获得不同的次要版本的 jQuery。 (假设 1.7 的链接前一天指向 1.7.1,第二天指向 1.7.2。浏览器将如何确保它今天获得最新版本?回答:没有缓存。)
In fact here's a breakdown of several options and their expiration settings...
http://code.jquery.com/jquery-latest.min.js (no cache)
http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js (1 hour)
http://ajax.googleapis.com/ajax/libs/jquery/1.7/jquery.min.js (1 hour)
http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js (1 year)
因此,通过以这种方式链接到 jQuery,您实际上消除首先使用 CDN 的主要原因之一。
http://code.jquery.com/jquery-latest.min.js也可能不会总是为您提供您期望的版本。在撰写本文时,它链接到最新版本的 jQuery 1.x,尽管 jQuery 2.x 也已发布。这是因为 jQuery 1.x 与旧版浏览器兼容,包括 IE 6/7/8 和 jQuery 2.x is not。 .如果您需要最新版本的 jQuery 2.x,那么(目前)您需要明确指定。
两个版本具有相同的API,因此兼容浏览器没有感知差异。但是,jQuery 1.x 的下载量大于 2.x。
关于jquery - Google CDN 上的最新 jQuery 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12608242/
我在我的Rails项目中使用Pow和powifygem。现在我尝试升级我的ruby版本(从1.9.3到2.0.0,我使用RVM)当我切换ruby版本、安装所有gem依赖项时,我通过运行railss并访问localhost:3000确保该应用程序正常运行以前,我通过使用pow访问http://my_app.dev来浏览我的应用程序。升级后,由于错误Bundler::RubyVersionMismatch:YourRubyversionis1.9.3,butyourGemfilespecified2.0.0,此url不起作用我尝试过的:重新创建pow应用程序重启pow服务器更新战俘
我正在尝试修改当前依赖于定义为activeresource的gem:s.add_dependency"activeresource","~>3.0"为了让gem与Rails4一起工作,我需要扩展依赖关系以与activeresource的版本3或4一起工作。我不想简单地添加以下内容,因为它可能会在以后引起问题:s.add_dependency"activeresource",">=3.0"有没有办法指定可接受版本的列表?~>3.0还是~>4.0? 最佳答案 根据thedocumentation,如果你想要3到4之间的所有版本,你可以这
我想设置一个默认日期,例如实际日期,我该如何设置?还有如何在组合框中设置默认值顺便问一下,date_field_tag和date_field之间有什么区别? 最佳答案 试试这个:将默认日期作为第二个参数传递。youcorrectlysetthedefaultvalueofcomboboxasshowninyourquestion. 关于ruby-on-rails-date_field_tag,如何设置默认日期?[rails上的ruby],我们在StackOverflow上找到一个类似的问
我将我的Rails应用程序部署到OpenShift,它运行良好,但我无法在生产服务器上运行“Rails控制台”。它给了我这个错误。我该如何解决这个问题?我尝试更新rubygems,但它也给出了权限被拒绝的错误,我也无法做到。railsc错误:Warning:You'reusingRubygems1.8.24withSpring.UpgradetoatleastRubygems2.1.0andrun`gempristine--all`forbetterstartupperformance./opt/rh/ruby193/root/usr/share/rubygems/rubygems
我正在尝试从Postgresql表(table1)中获取数据,该表由另一个相关表(property)的字段(table2)过滤。在纯SQL中,我会这样编写查询:SELECT*FROMtable1JOINtable2USING(table2_id)WHEREtable2.propertyLIKE'query%'这工作正常:scope:my_scope,->(query){includes(:table2).where("table2.property":query)}但我真正需要的是使用LIKE运算符进行过滤,而不是严格相等。然而,这是行不通的:scope:my_scope,->(que
如果我使用ruby版本2.5.1和Rails版本2.3.18会怎样?我有基于rails2.3.18和ruby1.9.2p320构建的rails应用程序,我只想升级ruby的版本,而不是rails,这可能吗?我必须面对哪些挑战? 最佳答案 GitHub维护apublicfork它有针对旧Rails版本的分支,有各种变化,它们一直在运行。有一段时间,他们在较新的Ruby版本上运行较旧的Rails版本,而不是最初支持的版本,因此您可能会发现一些关于需要向后移植的有用提示。不过,他们现在已经有几年没有使用2.3了,所以充其量只能让更
我安装了ruby版本管理器,并将RVM安装的ruby实现设置为默认值,这样'哪个ruby'显示'~/.rvm/ruby-1.8.6-p383/bin/ruby'但是当我在emacs中打开inf-ruby缓冲区时,它使用安装在/usr/bin中的ruby。有没有办法让emacs像shell一样尊重ruby的路径?谢谢! 最佳答案 我创建了一个emacs扩展来将rvm集成到emacs中。如果您有兴趣,可以在这里获取:http://github.com/senny/rvm.el
rails中是否有任何规定允许站点的所有AJAXPOST请求在没有authenticity_token的情况下通过?我有一个调用Controller方法的JqueryPOSTajax调用,但我没有在其中放置任何真实性代码,但调用成功。我的ApplicationController确实有'request_forgery_protection'并且我已经改变了config.action_controller.consider_all_requests_local在我的environments/development.rb中为false我还搜索了我的代码以确保我没有重载ajaxSend来发送
导读语言模型给我们的生产生活带来了极大便利,但同时不少人也利用他们从事作弊工作。如何规避这些难辨真伪的文字所产生的负面影响也成为一大难题。在3月9日智源Live第33期活动「DetectGPT:判断文本是否为机器生成的工具」中,主讲人Eric为我们讲解了DetectGPT工作背后的思路——一种基于概率曲率检测的用于检测模型生成文本的工具,它可以帮助我们更好地分辨文章的来源和可信度,对保护信息真实、防止欺诈等方面具有重要意义。本次报告主要围绕其功能,实现和效果等展开。(文末点击“阅读原文”,查看活动回放。)Ericmitchell斯坦福大学计算机系四年级博士生,由ChelseaFinn和Chri
有人知道在发布新版本的Ruby和Rails时收到电子邮件的方法吗?他们有邮件列表,RubyonRails有一个推特,但我不想听到那些随之而来的喧嚣,我只想知道什么时候发布新版本,尤其是那些有安全修复的版本。 最佳答案 从therailsblog获取提要.http://weblog.rubyonrails.org/feed/atom.xml 关于ruby-on-rails-如何在发布新的Ruby或Rails版本时收到通知?,我们在StackOverflow上找到一个类似的问题: