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

Javascript 链接到程序生成的CSS,就像它是一个外部文件一样?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我正在使用JavaScript在运行时为CSS文件生成文本。我知道我可以将这个CSS添加到HTML文档中,方法是将它封装在标记中,但是它是一个大文件,如果它作为外部资源链接到它,我的代码就不会那么混乱了。是否可以链接到运行时生成的CSS文件?没有涉及服务器,这必须在客户端完成。您尝试过吗- loadCssFile = function(fileName) { var cssLink = $("<link rel='stylesheet' type='text/css' href='"+

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

您尝试过吗-

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

loadCssFilestyle.css

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

编辑

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

旧答案

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

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

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


这里唯一的实际选择是在浏览器中创建和填充样式表。这里有一篇关于如何做到这一点的文章:

生成的代码不是源代码吗?你可以将此样式放入,这没有问题。是的,只要尝试在页面内的标记中添加css。如果没有办法,我会这样做,但这是一个非常大的文件,如果可能的话,我希望避免这种情况。如果你想创建一个允许使用变量和动态逻辑的样式表,请使用or。使用JS“创建”样式表听起来有点老套。@RoryMcCrossan我有我的理由。我只是为这个问题提供一些背景知识,真的。我以为你想要一种加载外部css文件的方法?这不是你所需要的吗?在你的页面中动态添加一个css文件?没有文件路径;CSS是在运行时生成的。您在这里唯一的选择。。。嗯。。。事实并非如此。另请注意,OP表示外部文件是。。。可以在CSS文件中找到的文本,但不会保存到文件系统中。因此,我不认为加载JSON文件是他们寻找的正确路径,但肯定是一种可能性。JSON文件从本地文件加载,用于生成CSS文件的文本。第二部分对我来说是这样的,但是那个链接说使用标签。听起来好像没有别的办法了,在这种情况下,不可能是一个合适的答案。为了抛开一个可能的想法,如果它链接到一个空白的本地CSS文件,那么该CSS文件会被修改吗?@CaseyFalk我们链接到了非常类似的方法。在之前版本的编辑问题中还提到了带有颜色的JSON文件。
 // load the css file