当前位置: 首页 > 面试题库 >

在链接和脚本标签中的CSS和Javascript URL后面附加“?v = 1”有什么作用?

屠杰
2023-03-14
问题内容

我一直在查看HTML5样板模板,并注意到"?v=1"在引用CSS和Javascript文件时在URL中的使用。

  1. "?v=1"在链接和脚本标记中附加到CSS和Javascript URL有什么作用?
  2. 并非所有的Javascript URL都有"?v=1"(示例来自以下示例:)js/modernizr-1.5.min.js。有这种原因吗?

来自他们的样本index.html

<!-- CSS : implied media="all" -->
<link rel="stylesheet" href="css/style.css?v=1">

<!-- For the less-enabled mobile browsers like Opera Mini -->
<link rel="stylesheet" media="handheld" href="css/handheld.css?v=1">

<!-- All JavaScript at the bottom, except for Modernizr which enables HTML5 elements & feature detects -->
<script src="js/modernizr-1.5.min.js"></script>

<!------ Some lines removed ------>

<script src="js/plugins.js?v=1"></script>
<script src="js/script.js?v=1"></script>

<!--[if lt IE 7 ]>
  <script src="js/dd_belatedpng.js?v=1"></script>
<![endif]-->


<!-- yui profiler and profileviewer - remove for production -->
<script src="js/profiling/yahoo-profiling.min.js?v=1"></script>
<script src="js/profiling/config.js?v=1"></script>
<!-- end profiling code -->

问题答案:

这些通常是为了确保在网站更新为新版本时浏览器获得新版本,例如,在构建过程中,我们将具有以下内容:

/Resources/Combined.css?v=x.x.x.buildnumber

由于每次新代码推送都会改变这种情况,因此仅由于查询字符串,客户端就不得不获取新版本。例如,查看此页面(在回答此问题时):

<link ... href="http://sstatic.net/stackoverflow/all.css?v=c298c7f8233d">

我认为SO团队可以使用文件哈希来代替修订号,这是一种更好的方法,即使使用了新版本,浏览器也只在文件 实际 更改时才强制使用新版本。

这两种方法都允许您将缓存标头设置为非常长的时间(例如20年)…但是,当其更改时,您不必担心该缓存标头,浏览器会看到不同的查询字符串并将其视为不同的新文件。



 类似资料:
  • 本文向大家介绍直接使用b标签和使用css的font-weight有什么区别?相关面试题,主要包含被问及直接使用b标签和使用css的font-weight有什么区别?时的应答技巧和注意事项,需要的朋友参考一下 HTML 的标签负责将内容标记为 HTML 元素,浏览器的默认 CSS 样式表负责按照 W3C 的建议来指定 HTML 元素的默认样式。 可以这样理解,使用 b 标签标记的内容浏览器会使用相应

  • 问题内容: UNIX / Linux系统如何在内部管理符号链接。众所周知,即使没有实际的目标文件也可能存在符号链接(悬挂链接)。那么在内部代表符号链接的是什么。 在Windows中,答案是。 问题: 答案在UNIX / Linux中吗? 如果是,那么目标和链接的索引节点号是否相同? 如果是,链接inode可以具有与目标inode不同的权限(如果存在)吗? 问题答案: 它不是关于UNIX / Lin

  • 1vw=1%,那么如果它们是100%可互换的,为什么它们都存在呢?我觉得%依赖于包装标签的大小,但vh总是依赖于窗口大小,无论包装标签的大小。谢谢,

  • 本文向大家介绍noscript标签有什么作用?相关面试题,主要包含被问及noscript标签有什么作用?时的应答技巧和注意事项,需要的朋友参考一下 如果浏览器不支持js,noscript会帮助我们显示一些信息 https://stackoverflow.com/questions/2170484/shouldnt-we-use-noscript-element

  • 在“Linux Shell脚本编写指南”一书中 它说 扩展为 $、$2、3 等等, 扩展为 ,其中 是 的第一个字符。 $ 和 之间有什么区别, 是什么意思?

  • 问题内容: 我正在使用以下脚本通过Telnet重新启动路由器: 我不知道为什么,但是从上述代码中删除“ \ r”会使脚本无法正常工作。那么,该脚本中的“ \ r”有什么作用?通常什么时候使用“ \ r”? 注意:我了解“回车”,但仍无法在脚本中弄清楚它的用法。我正在Linux中运行此脚本。 问题答案: 该字符是回车,并且都需要用于在网络虚拟终端会话换行符回车换行对。 根据旧的telnet规范(RF