我正在寻找一个不需要css的轻量级对话框插件。 我需要一个用户脚本,这意味着我不能包含一个css文件
有什么想法吗?
答案 0 :(得分:2)
例如,您可以从远程域动态注入css文件,这就是disqus所做的。
var link = document.createElement('link')
link.rel = 'stylesheet'
link.href = 'http://yourhost.com/your.css'
您可以通过使用ID或类名限制样式来确保您的CSS与用户网站的样式发生冲突的可能性很小。
答案 1 :(得分:1)
您可以简单地设置通过javascript创建的样式标记的innerHTML。通过这种方式,您可以获得内联样式表。
E.g。
var styleText = "body { background-color: red } div { color: lime }";
var styleBlock = document.createElement("style");
styleBlock.innerHTML = styleText;
document.head.appendChild(styleBlock);
另一个想法是使用css文件的dataURI:
E.g。
var linkEl = document.createElement("link");
linkEl.href = "data:text/css;base64,Ym9keSB7IGJhY2tncm91bmQtY29sb3I6YmxhY2sgfQo=";
linkEl.rel = "stylesheet";
linkEl.type = "text/css";
document.head.appendChild(linkEl);