0

目前,我的页面包含以下元标记<head>

<meta name="application-name" content="MLP Now" />
<meta name="msapplication-starturl" content="./" />
<meta name="msapplication-navbutton-color" content="#C693FB"/>
<meta name="msapplication-tooltip" content="MLP Now" />

这工作得很好,浏览器会愉快地更新按钮颜色以匹配设置值。但这里有一个问题,这只发生在页面重新加载时。

我不想强迫我的用户重新加载只是为了看到他们的按钮颜色被改变,所以我很好奇是否有办法在不重新加载页面的情况下做到这一点。

我尝试使用 JavaScript 更改元标记的值,但正如您所料,它不起作用。

var newcolor = "#123456";
$('meta[name="msapplication-navbutton-color"]').attr('content',newcolor);

编辑:为了澄清,元标记确实得到了更新,只有按钮在 IE 中不会改变颜色。

4

1 回答 1

1
  • 尝试删除并添加元标记
  • 尝试重新绘制所有页面。通过添加 html 元素重绘 css 样式display: inline-block
  • 非常糟糕的方式,但是......尝试document.documentElement.innerHTML = document.documentElement.innerHTML

我希望它会帮助你。

新的

我阅读了文档,这很有帮助。msapplication-navbutton-color是一个运行时参数,这意味着样式只应用一次,当页面开始加载时......所以你不能改变颜色。页面加载后更改运行时样式(domNode.runtimeStyle)和元数据之类msapplication-navbutton-color的不会触发重绘行为。

于 2013-11-15T13:16:47.367 回答