17  /  105

Обращение к ресурсам через API

Просмотров: 12741
Дата последнего изменения: 21.06.2023
Александр Суворов
Сложность урока:
3 уровень - средняя сложность. Необходимо внимание и немного подумать.
1
2
3
4
5

Для обращения к офлайн-ресурсу используется схема bxlocal:// или через виртуальную директорию __bxoffline__. Используя эту схему, вы сообщаете платформе, что хотите обратится к локальному контенту.


Еще одна из важных особенностей офлайн-приложения на BitrixMobile - свобода в использовании офлайн-ресурсов:

  1. Доступ к офлайн-страницам
    • Старт приложения из офлайн-страниц. Страницы указываются в конструкторе.
    • Открытие одной офлайн-страницы из другой.

      Например, через простую ссылку:

      	<a href="bxlocal://detail.html">Детальная страница</a>
      	<a href="http://mysite.com/__bxoffline__/detail.html">Детальная страница</a>
      	
      или через BXMobileApp.PageManager с передачей параметров:
      <script>
      BXMobileApp.PageManager.loadPageBlank({
      url: "bxlocal://detail.html",
      data:{key:"value"},
      title: "Детальная страница"
      });
      </script>
      
    • Открытие офлайн-страницы со страницы на удаленном сервере. Точно также как и в п.2.
    • Открытие страницы на удаленном сервере с офлайн-страницы:
      <script>
      BXMobileApp.PageManager.loadPageBlank({
      url: "/mobile_app/detail.php",
      data:{key:"value"},
      title: "Детальная страница"
      });
      </script>
      
    • Открытие страницы на удаленном сервере с офлайн-страницы.

  2. Доступ к офлайн-изображениям:
    	<img src="bxlocal://myimage.png">
    

  3. Доступ к контенту других файлов (только для Android).

    Например, можно добавить файл data.json c содержимым:

    {
    	"key1":"value1",
    	"key2":"value2",
    	"key3":"value3"
    }
    

    Данные из этого файла можно получить через ajax-запрос. В разных ситуациях это делается по-разному:

    • Если вы пытаетесь получить контент офлайн-файла со страницы на удаленном сервере, то нужно использовать виртуальную директорию __bxoffline__:
      BX.ajax.get("/__bxoffline__/data.json",{},function(data){
      console.log(data);
      });
      
    • Если запрос осуществляется с офлайн-страницы, то можно использовать как предыдущий вариант, так и упрощенный:
      BX.ajax.get("data.json",{},function(data){
      console.log(data);
      });
      


1
Курсы разработаны в компании «1С-Битрикс»

Если вы нашли неточность в тексте, непонятное объяснение, пожалуйста, сообщите нам об этом в комментариях.
Развернуть комментарии