2014-10-21 11 views
1

У меня есть приложение ASP.NET MVC, которое будет размещаться в рамках существующей структуры URL. По этой причине я хочу сделать мои URL-адреса относительными. В ASP.NET MVC, я хотел бы сделать что-то вроде следующего:JavaScript эквивалент относительного пути

<img src="~/images/logo.png" /> 

Из моего понимания, тильда является ASP.NET MVC вещь, которая визуализируется во время выполнения. Однако у меня есть файлы JavaScript, которые являются статическими. Мне нужно, чтобы они ссылались на что-то относительно.

Как я могу сделать ~/images/logo.png в JavaScript?

ответ

0

~ относится к корневой папке приложения

в случае, если ваше приложение не размещено в подпапке, например http://example.com/mydir/myapp (в вложенном виртуальном каталоге), то эквивалент javascript будет /images/logo.png

0

Символ ~ как функция ASP.Net, которая разрешена на стороне сервера - Javascript ничего об этом не знает. Единственный способ сделать это из Javascript - это ориентироваться относительно пути, в котором обслуживается текущий файл.

Так что, если ваша структура путь выглядит так:

Web Application 
    Content 
    js 
     test.js 
    images 
     logo.png 

Затем из файла "test.js", вы бы ссылаться на "logo.png", как ../images/logo.png.


(Технически, вы могли написать динамический Javascript файл с сервера тегов, но это кажется ненужной мерой просто решить относительный путь.)

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