Разработка
20
Апр
0

Относительные пути Веб-ресурсов

Ссылка на Веб-ресурс может быть, как относительной, так и абсолютной. Но чтобы Ваше решение не зависело от развертывания (локальной, IFD или онлайн) настоятельно рекомендуется делать их относительными. Например, такими могут быть абсолютные ссылки на один и тот же Веб-ресурс:

  • В Online: https://myorg.crm.dynamics.com/Webresources/myprefix_mypage.html
  • В On-premises: http://myserver/myorg/Webresources/myprefix_mypage.html

При этом если все веб-ресурсы загружать просто в соответствии с названием файла, то быстро может возникнуть путаница. И тут на выручку приходит одна из интересных особенностей Веб-ресурсов – посредством Веб-ресурсов Вы можете моделировать структуру локального каталога, в котором Вы разрабатываете проект. Когда Вы создаете Веб-ресурс, Вы должны задать несколько свойств, одно из которых – системное имя. И в этом имени Вы можете использовать, помимо прочего, символ наклонной черты вправо, что похоже на разделение на папке в файловой системе.

Допустим у Вас есть сайт, который локально имеет следующую структуру:

  • mysite
    • main.html
    • imgs
      • dog.gif
      • cat.png
    • scripts
      • myscript.js

Головная HTML-страница лежит в корне, изображения в папке imgs, а скрипты в папке scripts. Чтобы добраться из HTML-файла до файла скрипта по относительному пути нужно задать следующую ссылку:

<html>
<head>
    <script src="scripts/myscript.js" />
</head>
...
</html>

И Вы хотите, чтобы при загрузке их в CRM сайт продолжал нормально функционировать. Для этого Вам нужно загрузить каждый файл индивидуально в виде соответствующего Веб-ресурса, включив в имя Веб-ресурса название папок, в которых лежат эти файлы. Для вышеприведенного примера это было бы так:

  • new_/mysite/my.html
  • new_/mysite/imgs/my.gif
  • new_/mysite/scripts/my.js

Если же, Ваши HTML-файлы лежат в дочернем каталоге pages:

  • mysite
    • imgs
      • dog.gif
      • cat.png
    • scripts
      • myscript.js
    • pages
      • main.html

… и Вам нужно подняться на уровень выше, то тогда ссылка на скрипт будет такой: ../scripts/my.js

Таким образом Вы сохраните единую структуру каталога, что облегчит разработку и сопровождение, а и ссылки на ресурсы будут правильно функционировать.

Комментарии (0)

*

code