Javascript-форум (https://javascript.ru/forum/)
-   Элементы интерфейса (https://javascript.ru/forum/dom-window/)
-   -   Добавить собственные тэги в пространство имен (https://javascript.ru/forum/dom-window/21334-dobavit-sobstvennye-tehgi-v-prostranstvo-imen.html)

IvanZotov 05.09.2011 19:21

Добавить собственные тэги в пространство имен
 
Предположим, я хочу добавить собственные тэги, которые распознавались бы браузером. Аналогично, например, кнопке Google+, которая имеет тэг
<g:plusone></g:plusone>
Я знаю, что средствами xml мы можем как-то добавлять собственное пространство имен в документ.
Хотелось бы увидеть простой пример.
Спасибо.

DjDiablo 06.09.2011 13:59

в XHTML такое возможно зовётся модуляризацией помоему. В яндексе найдёш много статей обзазца 2001 года на эту тему )))) Стоит помнить что XHTML не особо популярен )

А вот в html едва ли это возможно. Свой тег в html добавить конечно можно но вот отображаться он не будет. (тут в голову мысль пришла а если ему CSS свойства добавить :) )

Возможно получится написать скрипт на js, который будет находит твои эксклюзивные теги и оживлять. jQuery если я неошибаюсь такие эксклюзивные теги не находит :) ), в крайне случае будешь искать в голом тексте )))

Но в любом случае игра свеч не стоит)

Kolyaj 06.09.2011 14:15

А в чём проблема? Пишете свои теги и всё.

nyols 06.09.2011 14:40

Цитата:

Сообщение от DjDiablo
Свой тег в html добавить конечно можно но вот отображаться он не будет. (тут в голову мысль пришла а если ему CSS свойства добавить )

Почему же ? вроде отображается и CSS работают :)
<style>
myTag {color: red;}
otherTag {display: block;border: 1px solid black;}
</style>
<myTag>My Tag</myTag>
<otherTag>Other Tag</otherTag>

DjDiablo 06.09.2011 17:36

дас теги свои и вправду отображаются.
Теперь ХЗ чо за фигня была, когда я эксперементирова, но Обломался.

Порадовало что jQuery даже нашёл эти теги.

Однако отличился internet explorer.
$("myTag").append(" hello ");

Приводит к ошибке в библиотеке jQuery.
проверял на 7й версии IE.

hogart 07.09.2011 13:16

чтобы ie работал с тэгами, которых он не знает, их нужно предварительно программно создать, типа document.createElement('myTag').
Посмотрите, как это сделано вот тут: http://code.google.com/p/html5shim/

IvanZotov 08.09.2011 12:47

Цитата:

Сообщение от nyols (Сообщение 125198)
Почему же ? вроде отображается и CSS работают :)
<style>
myTag {color: red;}
otherTag {display: block;border: 1px solid black;}
</style>
<myTag>My Tag</myTag>
<otherTag>Other Tag</otherTag>

Я имею в виду поставить в соответствие моим тегам некоторые конструкции из обычных тэгов. Чтобы можно было использовать мои собственные теги для удобства и краткости.

IvanZotov 08.09.2011 12:54

Меня интересует, как например работает кнопка google+. Она же ведь как-то работает? Тут, как я понимаю, новым тэгам поставлены в соответствие некоторые конструкции из обычных тэгов. Чтобы можно было использовать их для удобства и краткости.

walik 08.09.2011 14:04

Ну кнопка гугл как я понимаю делает замену, ну или что то в этом духе.
<walikPlus></walikPlus>

<script>
var result = document.getElementsByTagName('walikPlus');
var link = document.createElement('a');
link.href = '#';
link.innerHTML = '+1';
link.onclick = function() {this.innerHTML = 'Voted';return false;}
for(i = 0;i<result.length;i++) {
  result[i].parentNode.replaceChild(link, result[i])
}
</script>


Часовой пояс GMT +3, время: 14:38.