更新IE10固定网站的后退/前进按钮的颜色而不刷新

时间:2013-11-04 21:56:27

标签: javascript jquery html internet-explorer-10 pinned-site

目前,我的网页在<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中不会改变颜色。

1 个答案:

答案 0 :(得分:1)

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

我希望它会对你有所帮助。

我看过docs,这很有帮助。 msapplication-navbutton-color是一个运行时参数,它表示样式只应用一次,当页面开始加载时......所以你不能改变颜色。页面加载后更改运行时样式(domNode.runtimeStyle)和像msapplication-navbutton-color这样的元数据不会触发重绘行为。