wb_editors
154
правки
N.maslov (обсуждение | вклад) (→Пример) |
N.maslov (обсуждение | вклад) |
||
Строка 57: | Строка 57: | ||
использующие эту конструкцию, продолжат работу без изменений в поведении. | использующие эту конструкцию, продолжат работу без изменений в поведении. | ||
=== | === Обходные пути === | ||
Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций, | Если в вашей системе использовалось общее глобальное пространство для хранения общих данных и функций, | ||
есть несколько способов реализации такого поведения: | есть несколько способов реализации такого поведения: | ||
==== Виртуальные устройства ==== | |||
В простых случаях удобно использовать виртуальные устройства для обмена данными. Такие механизмы | |||
просто отлаживаются (состояние виртуального устройства всегда можно посмотреть в web-интерфейсе), а | |||
также легко создаётся реакция на изменения параметров (с помощью правил). (Подробнее - см. Виртуальные устройства). | |||
==== Использование модулей ==== | ==== Использование модулей ==== | ||
см. Модули | Можно написать модуль для организации взаимодействия. У модулей есть статическое хранилище, | ||
общее для всех файлов, импортировавших модуль. (см. [[#Модули|Модули]]) | |||
==== Постоянное хранилище ==== | |||
Для обмена данными также можно использовать глобальные постоянные хранилища (PersistentStorage). | |||
'''Внимание:''' при использовании глобальных постоянных хранилищ может произойти совпадение имён, в | |||
этом случае возможно труднообнаруживаемое нарушение поведения. | |||
<syntaxhighlight lang="js"> | |||
var ps = new PersistentStorage("my-global-storage", {global: true}); | |||
/// ... | |||
ps.myvar = "value"; // это значение доступно для всех пользователей хранилища с именем "my-global-storage" | |||
</syntaxhighlight> | |||
==== Прототип глобального объекта ==== | ==== Прототип глобального объекта ==== |