JavaScript文件名之后使用的“?”是什么意思?

时间:2010-10-28 14:55:00

标签: javascript filenames

例如,拥有:

<script type="text/javascript"
        src="http://somedomain.com/js/somejs.js?14">
</script>

那么“?14”在这里意味着什么?

6 个答案:

答案 0 :(得分:19)

它是一个url参数,就像在url中传递的任何其他参数一样。有时JS脚本是使用服务器端技术动态创建的,有时它只是一个版本号来帮助解决浏览器缓存问题。

答案 1 :(得分:9)

他们愚弄浏览器认为它是一个新文件。

这是在更新JS文件时避免浏览器缓存副本的技巧。

答案 2 :(得分:1)

javascript脚本可能是由服务器端脚本(PHP,CGI等)生成的,它以14作为参数。

答案 3 :(得分:1)

这是一个查询参数,因为浏览器会针对javascript源向somedomain.com发出http get请求。

如果您使用标题浏览器(如fiddler)加载页面,您将看到确切的结果。

答案 4 :(得分:1)

这意味着变量将通过GET传递给脚本,尽管标准JavaScript文件不支持任何收集变量的方法。

但是,您可以在PHP或ASP.NET中编写服务器脚本,将内容类型设置为application/x-javascript

在php中这样:

// file: external.php
<?php header("content-type: application/x-javascript"); ?>
// regular javascript here that uses $_GET['variable'];

然后你可以把它放在你的HTML脚本标签中:

<script type="text/javascript" src="external.php?variable=14"></script>

答案 5 :(得分:0)

恕我直言,像这样的JavaScript源会要求&#34;动态&#34;来自服务器的内容,因此服务器不会尝试使用缓存版本的JavaScript文件。参数是否确实重要取决于服务器。