Получить путь к скрипту - PullRequest
30 голосов
/ 29 января 2010

В CSS любой путь к изображению относится к местоположению файла CSS.

f.ex если я поместил файл CSS в /media/css/mystyles.css и использовал что-то вроде

.background:url(../images/myimage.jpg);

Браузер будет искать изображение в /media/images/myimage.jpg, что имеет смысл.

Можно ли сделать то же самое в javascript?

F.ex, если я включу /media/js/myscript.js и вставлю туда этот код:

var img = new Image();
img.src = '../images/myimage.jpg';

Это изображение не найдено, поскольку браузер использует файл HTML в качестве отправной точки, а не в месте расположения скрипта. Я хотел бы иметь возможность использовать расположение скрипта в качестве отправной точки, как это делает CSS. Возможно ли это?

Ответы [ 13 ]

0 голосов
/ 24 апреля 2013

ОБРАТИТЕ ВНИМАНИЕ, что все примеры по этому вопросу имеют вхождение тега LAST и, как указано, не поддерживают асинхронную загрузку поэтому, если вы хотите сделать это безупречным образом, вы ДОЛЖНЫ соответствовать своему имени сценария ДОПОЛНИТЕЛЬНО. на самом деле это делает сценарий.

просто проблема в том, что "неполный" код выделен и проекты типа http://areaaperta.com/nicescroll/ используют эту версию кода

0 голосов
/ 29 января 2010

Один из способов - указать путь в самом скрипте:

var scriptPath = <?PHP echo json_encode(dirname($_SERVER['SCRIPT_NAME'])); ?>;
0 голосов
/ 29 января 2010

Вы можете пролистать дочерние узлы <head>, найти тег <script>, получить URL-адрес указанного скрипта и вычислить URL-адрес вашего изображения.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...