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



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

免责声明:随着问题的改进,我会更新这个答案。

编辑

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

老回答

你有几个选择,但我最感兴趣的是你在什么环境下工作。假设用粗体显示。

JSON颜色文件存储在服务器:您应该在服务器端生成这个样式表,并将其提供给您的客户端。这包括创建一个路由(URL)来访问动态生成的样式表,输出格式化的CSS(并不太难),并使用正确的MIME类型设置报头。如何完成最后一部分取决于你的服务器实现(Node.js vs. PHP vs.等等)

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

您唯一真正的选择是在浏览器中创建和填充样式表。这里有一篇关于如何做到这一点的不错的文章:用JavaScript向样式表添加规则

你试过了吗-

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

};

 // load the css file 

loadCssFile("style.css");

相关内容

最新更新