Я работаю над приложением Chrome, которое должно делать две основные вещи:
- Автоматически создавать пользовательский интерфейс из списка полей и типов данных, предоставляемых подключенным устройством.
- Разрешить пользователям определять и публиковать свою собственную презентацию для пользовательского интерфейса и автоматически применять эту презентацию при подключении устройства.
Я использую Polymer и полагаю, что лучший способ достичь № 2 — использовать предоставленные пользователем элементы Polymer. Затем я могу просто привязать переменные устройства к пользовательскому интерфейсу, и пользовательский шаблон может определить, как их отображать и стилизовать.
Таким образом, достижение пункта 1 заключается в автоматическом создании полимерного элемента из входной схемы. Это несколько отличается от обычного подхода, когда я предположительно определяю повторяющийся шаблон с условными дочерними шаблонами для каждого типа виджета.
Тогда мои вопросы:
- Как я могу динамически оценивать полимерный элемент/шаблон из удаленного источника, не нарушая CSP приложения Chrome и не создавая значительных проблем XSS? (Надеюсь, первое защитит меня от второго?)
- Как проще всего динамически генерировать разметку для элемента Polymer? Могу ли я определить меташаблон и использовать сгенерированную разметку?