0

我有一个 CSS 文件需要加载一个包含的版本:

 <link rel="stylesheet" href="../assets/css/jquery-ui.css?="+getVersion()/>

wheregetVersion()是一个返回版本的函数,但这不起作用。

我也尝试过:

<link rel="stylesheet" href="../assets/css/bootstrap.css?=javascript:getAppVersion()">
4

1 回答 1

2

正如我的评论中所述,您需要<link>使用 JavaScript 包含整个标签,以使其“动态地”运行。您不能在没有任何封装的情况下将 JavaScript 代码添加到 HTML 中。

公然假设您使用的是 jQuery,这是一种解决方法:

$( document ).ready(function() {

    /* Definition of getVersion() here*/

    $('head').append('<link rel="stylesheet" href="../assets/css/jquery-ui.css?='+getVersion()+'/>');
});

这将简单地将包含<link>正确版本号的字符串添加到<head>您的文档中。

请注意,当您的 DOM 完成加载时会附加样式表,因此您可能会看到无样式标记的短暂故障。

当然,如果可能,最好在服务器端包含版本号,这将(一方面)处理可能的故障,因为<link>在构建 DOM 期间可以使用正确的标签(版本号)。

于 2015-11-20T08:03:11.813 回答