Я набросал новый язык программирования для сценариев на стороне клиента.Я знаком с тем, как создать язык, и с большей частью работы, которая в него входит.Я готов к длинному проекту, но у меня есть несколько вопросов о том, как внедрить его в файл HTML.Я хотел бы реализовать что-то вроде тега в HTML, и я нашел несколько ссылок, объясняющих, как добавить новый тег в HTML.Я полагаю, что разработчики должны будут подключиться к js-файлу с синтаксическим анализатором языка (на самом деле это больше, чем анализатор, но это не главное) в заголовке их HTML-файла, например: <script src="my-lang.js"></script>
.Вот некоторые ссылки, которые я нашел: https://blog.teamtreehouse.com/create-custom-html-elements-2 https://developers.google.com/web/fundamentals/web-components/customelements
Вот некоторые из моих вопросов, при условии, что я хочу, чтобы мой язык междутеги:
- Как предотвратить синтаксический анализатор HTML браузера от неверного истолкования того, что находится втеги как HTML-код?Весь код на моем языке будет отображаться в виде простого текста на веб-сайте из того, что я вижу.
- Как я могу внедрить мой анализатор в файл JS?Я не спрашиваю, как разобрать пользовательский язык, просто где его поставить.Первая ссылка упоминает функцию
createdCallback()
, которая вызывается, когдатег используется.Предполагая, что никто не добавляетПозвольте тегу JavaScript позже (что для этого языка было бы бессмысленно), этот обратный вызов должен вызываться каждый раз, когда используется пользовательский тег. - Чтобы разобрать мой язык, должен ли я получить доступ к атрибуту innerHTML моего пользовательского тега?Я не знаю, имеет ли время разбор тега даже этот атрибут, или мне нужно добавить этот атрибут, поскольку я не знаком с тем, как эта часть работает.
Спасибо замириться с моими глупыми вопросами.Мне нравится углубляться в этот материал, хотя я довольно новичок в этой части сценариев.По сути, я хочу, чтобы код выглядел следующим образом:
<!DOCTYPE html>
<html>
<head><script src="my-lang.js"></script></head>
<my-language>
//do some stuff in my language, like DOM editing.
//Just a replacement for JavaScript basically that doesn't serve much purpose.
</my-language>
</html>
Будем благодарны за любые предложения.Заранее спасибо!