在IE和Cross Browser中为书签注入CSS文件
Injecting a CSS file for a bookmarklet in IE & Cross Browser
我有以下JS代码,该代码将带有属性和href的链接标签注入页面头部,此代码适用于除Internet Explorer以外的所有浏览器。
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()方法,但这似乎也不起作用。
关于我可以尝试让它跨浏览器的任何想法或建议?
在IE8 +中尝试此操作应该可以工作。
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;
编辑:或像这样
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);
只需更改代码行位置
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);
相关文章:
- 使用Objective-C的JavaScript注入方法
- 正在注入包含JS的HTML
- 迷你$provider注入茉莉花和角
- Angularjs工厂注入错误
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- Javascript书签按钮
- 如何在Ionic Android中将Javascript注入到web视图中
- 对特定的iframe使用javascript书签
- Android Webview通过Javascript注入CSS
- 使用HTML5 localStorage和jQuery添加到收藏夹/书签
- Meteor:在启动时将html注入客户端文件
- 注入工厂时,Angular停止工作
- 注入Javascript以选择具有指定值的所有单选按钮
- XSS通过地址栏注入
- 注入angularjs指令
- Ember服务在注入组件并在计算属性中使用后是未定义的
- AngularJS依赖注入定时问题
- 如何通过铬扩展注入反应元素
- JavaScript 注入和书签有什么区别吗?
- 在IE和Cross Browser中为书签注入CSS文件