我有一个其他人在他们网站上使用的 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
- 这意味着样式表不会为用户呈现。我该如何解决这个问题?
最佳答案
我能够自己找到解决方案。
有几种方法可以解决这个问题:
- 向 JS src 添加查询字符串
- 为脚本生成的特定元素抓取页面
我选择了选项 1。当我检测到动态生成的查询字符串时,我将其发送到 params
哈希中的 Controller 并相应地加载 css 文件。
关于javascript - 在javascript中加载动态CSS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16219967/