我可以在<link />标签href中调用JavaScript函数吗?

时间:2015-11-20 06:09:49

标签: javascript html html5 stylesheet-link-tag

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

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

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

我也尝试过:

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

1 个答案:

答案 0 :(得分:2)

正如我的评论中所述,您需要使用JavaScript包含整个<link>标记,以便让它动态地动作&#34;。您无法在没有任何封装的情况下将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。