javascript - 在javascript中加载动态CSS

标签 javascript css ruby-on-rails ruby

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

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

The user can call it in their site like so:

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

我想让用户能够在我的网络应用程序上上传他们自己的 CSS 文件,这将取代我在 global.js 中设置的文件。

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

我在后端使用 RoR。

任何帮助都会很棒!

更新 1

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

最佳答案

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

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

  1. 向 JS src 添加查询字符串
  2. 为脚本生成的特定元素抓取页面

我选择了选项 1。当我检测到动态生成的查询字符串时,我将其发送到 params 哈希中的 Controller 并相应地加载 css 文件。

关于javascript - 在javascript中加载动态CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219967/

相关文章:

ruby-on-rails - ActiveRecord::NotNullViolation: PG::NotNullViolation: 错误: 列 "created_at"中的空值违反了非空约束

javascript - 拒绝设置不安全 header "Connection"extjs4

javascript - Java 签名/验证 key 和 Javascript WebCrypto 验证失败

javascript - JSON 对象根据位置返回值

javascript - rails : proper syntax for using a javascript function inside a rails view

ruby-on-rails - PG::ConnectionBad: FATAL: EC2 amazon 上不存在数据库 "db_name"

javascript - 使用 JQuery 单击时不显示 Div(CSS - block /无)

css - 未呈现 Tizen SDK CSS ID

用于移动网站的 jQuery 可滚动 Div

html - 为什么当另一列超过浏览器高度时,一列缩小到内容大小?