我需要在运行时根据品牌更改favicon。当应用程序启动时,我调用webservice来建立品牌,然后我需要配置应用程序。我不知道如何更新图标 - 是否可能?
<link rel="shortcut icon" href="favicon-brand1.ico">
为了澄清我需要的背景 - 我的应用程序是一个GWT应用程序,要求是在完成加载之前根据域名(品牌)配置其外观。所以我已经实现了Web服务,它为我提供了所有配置数据,如站点名称,站点描述(放置在元描述中的主机HTML页面)和相关的favicon。 我能够更新我的应用程序的元标记,但我找不到如何从GWT代码更新应用程序图标而不是使用JavaScript代码的解决方案。
答案 0 :(得分:1)
您可以访问主页上的任何标记。
所以这样的事情应该有效:
NodeList<Element> nodes = Document.get().getElementsByTagName("link");
for (int i = 0; i < nodes.getLength(); i++) {
LinkElement link = LinkElement.as(nodes.getItem(i));
if (link.getRel("shortcut icon") != null) {
link.setHRef("favicon-brandNew.ico");
}
}
答案 1 :(得分:0)
我不确定你的应用程序的上下文,但我想如果你的动态生成就会发生正确的事情。
我的意思是在模型属性中指定文件名,并在视图中使用它。
所以,不要硬编码 - 查一查。
所以你最终会得到一些...... ....
<link rel="shortcut icon" href="@model.BrandFavIcon">