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