链接到程序生成的CSS,好像它是一个外部文件?

时间:2014-07-23 06:53:14

标签: javascript jquery html css

我正在使用JavaScript在运行时为CSS文件生成文本。我知道我可以将这个CSS添加到HTML文档中,方法是将它包含在<style>标记中,但它是一个大文件,如果要将它作为外部资源链接到它,我的代码就不那么混乱了。是否可以链接到运行时生成的CSS文件?没有涉及服务器,这必须在客户端完成。

2 个答案:

答案 0 :(得分:0)

免责声明:随着问题的完善,我会更新此答案。

修改

听起来你在本地做的一切。在这种情况下,从浏览器中运行的脚本(如JavaScript)写入文件系统(主要是出于安全原因强制执行)。虽然您可以从本地计算机链接和加载CSS文件,但您无法写入它们。

OLD ANSWER

你有几个选择,但我最感兴趣的是你在哪个环境。假设是粗体。

存储在服务器上的JSON颜色文件:您应该在服务器端生成此样式表,并将其提供给客户端。这涉及创建一个路径(URL)来访问动态生成的样式表,输出格式化的CSS(不太难),并使用正确的MIME类型设置标题。最后一部分如何根据您的服务器实现而变化(Node.js与PHP vs.等)

只能在客户端(无服务器)生成样式表:在这种情况下,假设您无权访问服务器,但可以获取您的JSON颜色文件(从某个地方,我猜),你真的没有要链接到的样式表资源。这实际上限制了缓存等方面的优化潜力。

这里唯一真正的选择是在浏览器中创建和填充样式表。这里有一篇关于如何做到这一点的文章:Add Rules to Stylesheets with JavaScript

答案 1 :(得分:-1)

你试过这个 -

 loadCssFile = function(fileName) {
 var cssLink = $("<link rel='stylesheet' type='text/css' href='"+fileName+"'>");
 $("head").append(cssLink); 

};

 // load the css file 

loadCssFile(&#34;的style.css&#34);