2013-04-25 3 views
0

У меня есть файл javascript, который используют другие пользователи на своем сайте. Это создает кнопку и загружает файл CSS, который размещается на нашем сервере:Загрузить динамический css в javascript

 
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 для бэкэнд.

Любая помощь будет замечательной!

UPDATE 1

Я могу сохранить загруженный файл JS и загрузить пользовательские CSS, но это в настоящее время проверки current_user - это означает, что таблица стилей не будет оказано для пользователей. Как я могу обойти это?

+0

Добавить элемент CSS в заголовке: http://stackoverflow.com/questions/707565/how-do-you-add-css-with-javascript/6211716#6211716 –

ответ

0

Я смог найти решение самостоятельно.

Есть несколько способов подойти к этому:

  1. Добавить строку запроса в JS ЦСИ
  2. скребки страница для определенного элемента, который получает генерируется скриптом

Я выбрал для варианта 1. Когда я обнаруживаю динамически сгенерированную строку запроса, я отправляю ее в контроллер в хеше params и загружаю файл css соответствующим образом.

Смежные вопросы