在不刷新的情况下更新 IE10 固定站点的后退/前进按钮的颜色

Posted

技术标签:

【中文标题】在不刷新的情况下更新 IE10 固定站点的后退/前进按钮的颜色【英文标题】:Updating IE10 pinned site's back/forward buttons' color without refresh 【发布时间】:2013-11-04 21:56:26 【问题描述】:

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

【问题讨论】:

***.com/questions/2568760/… 你在这个页面上运行了 javascript 吗? 请制作一个 jsfiddle 或将此代码添加到您的问题中。谢谢。 @OlivierH 好吧,我可以链接所有 13 个单独的 JS 文件,但我觉得它们无关紧要。 这只是自定义 js 还是你使用一些库/框架?哪些? 【参考方案1】: 尝试删除和添加元标记 尝试重新绘制所有页面。通过display: inline-block添加html元素重绘css样式 非常糟糕的方法,但是……试试document.documentElement.innerHTML = document.documentElement.innerHTML

希望对你有帮助。

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

【讨论】:

添加/删除元标记失败。我已经可以说重新绘制页面不会做任何事情,所以最后两个也不好。

以上是关于在不刷新的情况下更新 IE10 固定站点的后退/前进按钮的颜色的主要内容,如果未能解决你的问题,请参考以下文章

如何在不停止站点的情况下更新 ASP.Net 站点 dll

在不刷新父页面的情况下更改 iframe src

如何在不下载IE10补丁包的情况下,把win7的IE9浏览器升级为IE10

如何在不刷新 php 页面的情况下更新/移动我的 canvasjs 图表

按下后退按钮时强制重新加载/刷新

如何在不刷新整个地图的情况下更新谷歌地图上的标记位置?