首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >在IE &交叉浏览器中为书签注入CSS文件

在IE &交叉浏览器中为书签注入CSS文件
EN

Stack Overflow用户
提问于 2013-11-06 13:21:04
回答 2查看 360关注 0票数 1

我有下面的JS代码,它将一个带有属性和href的链接标记注入页面的头部,该代码在除Internet之外的所有浏览器中都能工作。

代码语言:javascript
运行
复制
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.id = '_mgc_css';
document.getElementsByTagName("head")[0].appendChild(link);
link.href = url + "css/bookmarklet.css";

问题似乎在于,当注入新的工作表时,IE不会刷新页面上的样式。我已经尝试过IE的createStylesheet()方法,这似乎也不起作用。

有什么想法或建议,我可以尝试使它跨浏览器吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-11-06 13:35:40

在IE8+中尝试这个应该是有效的。

代码语言:javascript
运行
复制
var headHTML = document.getElementsByTagName('head')[0].innerHTML;
headHTML    += '<link type="text/css" rel="stylesheet" href="+url + "css/bookmarklet.css"+">';
document.getElementsByTagName('head')[0].innerHTML = headHTML;

编辑:还是这样

代码语言:javascript
运行
复制
var cssNode = document.createElement('link');
cssNode.type = 'text/css';
cssNode.rel = 'stylesheet';
cssNode.href = url + "css/bookmarklet.css";
cssNode.title = 'title_goes_here';
document.getElementsByTagName("head")[0].appendChild(cssNode);
票数 0
EN

Stack Overflow用户

发布于 2013-11-06 13:53:11

只需更改代码行的位置即可。

代码语言:javascript
运行
复制
var url = "location/"
var link = document.createElement("link");
link.type = "text/css";
link.rel = "stylesheet";
link.id = '_mgc_css';
link.href = url + "css/bookmarklet.css";
document.getElementsByTagName("head")[0].appendChild(link);
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/19813223

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档