Мне нужно создать компонент, который должен работать с обеими спецификациями, custom elements spec v0
которые устарели, и с custom elements spec v1
последней стабильной версией.
Если я создаю компоненты со custom elements v0
спецификацией, некоторые приложения столкнутся с проблемами, поскольку они используют polymer 2
и выше, и той же проблемой с polymer 1
приложениями, которые не будут работать со custom elements v1
спецификацией.
У меня нет контроля над приложениями для изменения полизаполнений , некоторые приложения должны использовать полифилы, поддерживает старые спецификации, а некоторые используют новые полифилы.
Я ищу надежное решение для объединения обеих спецификаций для запуска моих пользовательских элементов во всех приложениях, независимо от версии polyfills. Я могу добавить любой фрагмент полифилла или фрагмента к моим компонентам, чтобы они могли работать где угодно, я не нашел такой библиотеки или полифилла, которые бы поддерживали обе спецификации в моем исследовании.
Я планирую написать адаптер, который может объединить обе спецификации, такие как сопоставление, упомянутое ниже, для присоединенного обратного вызова, входные данные для этой мысли будут высоко оценены.
connectedCallback(){
this.attachedCallback();
}
Я пытался использовать stenciljs, но он может работать только с последней версией спецификации пользовательских элементов. Я не нашел способа настроить его, чтобы он работал с более ранними спецификациями.
Пожалуйста, предложите несколько жизнеспособных альтернатив и возможных решений вышеупомянутой ситуации.
источник
Я подозреваю, что вы это знаете
Custom Elements v0 is deprecated at M70, and will be removed in M80, by February, 2020.
.Что вы можете сделать, это зайти на
Can I use
сайт и проверить версии поддержки браузера, чтобы увидеть, какой браузер должен загружать какие версии элементов ...Затем выполните приведенные ниже действия, чтобы проверить браузер и версию, и соответственно загрузить соответствующий пользовательский элемент для нужного браузера ( подробнее здесь ), если вы не хотите использовать внешние библиотеки.
Если вы согласны с использованием внешних библиотек, попробуйте Bowser для определения версии, платформы и т. Д.
источник