轻量级对话框插件,不需要css

时间:2011-12-29 22:13:01

标签: javascript dialog

我正在寻找一个不需要css的轻量级对话框插件。 我需要一个用户脚本,这意味着我不能包含一个css文件

有什么想法吗?

2 个答案:

答案 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);