在javascript中加载动态css

时间:2013-04-25 16:23:23

标签: javascript css ruby-on-rails ruby

我有一个其他人在其网站上使用的javascript文件。它创建一个按钮并加载托管在我们服务器上的css文件:

style.setAttribute('href', 'http://mysite.com/assets/some.css');

用户可以在他们的网站中调用它:

<script type="text/javascript" src="http://mysite.com/global.js"></script>

我想让用户能够在我的网络应用上上传自己的CSS文件,这将替换我在global.js中设置的那个。

目前,我在custom_css:binary表格中添加了一个Users列来保存CSS文件,但这需要用户保持在该网站上的登录状态。我不确定这是否是解决这个问题的正确方法,或者是否有更好的方法。此外,这种方法有哪些安全风险?

我正在使用RoR作为后端。

任何帮助都会很棒!

更新1

我能够存储上传的JS文件并加载自定义CSS,但它当前正在检查current_user - 这意味着不会为用户呈现样式表。我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我自己能够找到解决方案。

有几种方法可以解决这个问题:

  1. 将查询字符串添加到JS src
  2. 抓取页面以获取由脚本生成的特定元素
  3. 我选择了选项1.当我检测到动态生成的查询字符串时,我将其发送到params哈希中的控制器并相应地加载css文件。