-6ren">
gpt4 book ai didi

Grails:如何动态添加css样式到页面?

转载 作者:行者123 更新时间:2023-12-02 14:41:11 25 4
gpt4 key购买 nike

我写插件,它有这样的标签库:

class MyTagLib {

static namespace = "my"

Closure someWidget = { attrs ->
// Need somehow add styles to page
// ...
}
}

我用 asset-pipeline插件并且找不到任何动态添加样式表的方法(到 head 标签中)。

应用程序的基本 gsp 布局(不是我的插件):
<!DOCTYPE html>
<%@ page contentType="text/html;charset=UTF-8" %>
<html>
<head>
<g:layoutHead/>
<title><g:layoutTitle/></title>
</head>
<body>
<g:layoutBody/>
<asset:deferredScripts/>
</body>
</html>

我在 taglib 中需要类似的东西:
g.putItIntoHead(asset.stylesheet(src: 'assets/my.css'))

最佳答案

您正在寻找的是一个注入(inject) javascript 代码的标签。

class MyTagLib {

static namespace = "my"

Closure putItIntoHead= { attrs ->
out << " var head = document.head ";
out << " var link = document.createElement('link')";

out << " link.type = 'text/css'";
out << " link.rel = 'stylesheet'";
out << " link.href = '{url}'";

out << " head.appendChild(link)";
}
}

您也可以使用 jquery 来完成,(查看 this 问题了解更多)

而且您不一定将其添加到头部。

关于Grails:如何动态添加css样式到页面?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34038118/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com