Symfony 2: Как сгенерировать пути к изображениям в файле javascript?

Я давно это гуглю! Мне нужно показать изображения при наведении курсора мыши и наведении мыши. Код написан в js-файле. Но путь к изображениям должен быть сгенерирован. Есть ли способ генерировать пути к изображениям, используя что-то вроде этого

{{ актив('связки/mybundle/images/menu_down.png') }}

Можно ли использовать FOSJsRoutingBundle для создания путей к изображениям в js-файлах?


person VishwaKumar    schedule 15.03.2012    source источник


Ответы (3)


Согласен с ответом Ника, но он забыл "кавычки" вокруг {{ assets(...) }}.

Таким образом, это должно быть написано так:

 var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}"; 

если вы хотите, чтобы window.menuDownUrl работало, а не выводило вас "undefined"

person ohFRY    schedule 04.04.2012

Вы можете установить глобальные переменные JS на своей фактической странице:

<script>
    var menuDownUrl = "{{ asset('bundles/mybundle/images/menu_down.png') }}";
</script>

А затем установите внутри вашего файла javascript вызов глобальной переменной: window.menuDownUrl

Затем создает зависимость внутри вашего файла javascript, но позволяет вам динамически устанавливать это изображение.

person Nick    schedule 15.03.2012
comment
Я думаю, что функции ветки не распознаются в файле javascript. Я получаю эту ошибку: Uncaught SyntaxError: Unexpected token { - person VishwaKumar; 16.03.2012
comment
Эй, это действительно сработало. Мне пришлось поместить код в свой блок сценария в моем шаблоне ветки. Спасибо!! - person VishwaKumar; 16.03.2012

Вы можете скрыть ввод и установить путь к изображению.

<input type="hidden" id="img_path" value="{{ asset('images/circle_loading.gif') }}">

После этого в jQuery вы можете использовать его так

var img  = "<img src=\'"+ $("#img_path").val() +"\'>";
$("div").html(img);
person isaiasmac    schedule 26.08.2014