2013-04-25 108 views
0

我有一個其他人在其網站上使用的JavaScript文件。它創建了一個按鈕,會加載我們的服務器上承載的css文件:在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中設置的那個。

目前,我在Users表中添加了custom_css:binary列,該列將保存CSS文件,但這需要用戶在網站上保持登錄狀態。我不確定這是否是解決這個問題的正確方法,或者是否有更好的方法來做到這一點。另外,這種方法有哪些安全風險?

我使用RoR作爲後端。

任何幫助將是偉大的!

更新1

我能夠存儲上傳的JS文件並加載自定義CSS,但它目前檢查current_user - 這意味着樣式表將不會被渲染爲用戶。我該如何解決這個問題?

+0

在標題中添加CSS元素: http://stackoverflow.com/questions/707565/how-do-you-add-css-with-javascript/6211716#6211716 – 2013-04-25 21:03:34

回答

0

我能夠自己找到解決方案。

有幾種方法可以解決這個:

  1. 添加查詢字符串的JS SRC
  2. 刮爲得到由腳本

我選擇產生某一個元素的頁面對於選項1.當我檢測到動態生成的查詢字符串時,我將它發送給params哈希中的控制器,並相應地加載該css文件。