我可以在<link>标记href

Can I call a JavaScript function inside a <link> tag href?

本文关键字:标记 href gt link lt 我可以      更新时间:2023-09-26

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

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

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

我也尝试过:

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

如我的评论所述,您需要使用JavaScript包含整个<link>标记,以便使其"动态"运行。您不能在没有任何封装的情况下将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加载完成后附加的,因此您可能会看到未格式化标记的小故障。

当然,如果可能的话,最好包括版本号服务器端,这将(例如)解决可能的故障,因为在DOM的构建过程中可以使用正确的<link>标签(版本号)。