Case-study » History » Version 2
Viktoria Kopach, 05/30/2014 02:23 PM
1 | 2 | Viktoria Kopach | h1. Knowledge base entry |
---|---|---|---|
2 | 1 | Alexey Demakov | |
3 | h2. RFC Markup |
||
4 | |||
5 | В RFC документах используется JavaScript функция, которая при загрузке документа заменяет <span class="h#">...</span> на <span class="h#"><h#>...</h#></span>. |
||
6 | При многократном сохранении документа вложенные <h#> плодятся. Более корректная версия этой функции приведена ниже. Файл необходимо отредактировать до первого открытия в Markup Editor. |
||
7 | |||
8 | function addHeaderTags() { |
||
9 | var spans = document.getElementsByTagName("span"); |
||
10 | var hspans = []; |
||
11 | for (var i=0; i < spans.length; i++) { |
||
12 | var elem = spans[i]; |
||
13 | if (elem) { |
||
14 | var level = elem.getAttribute("class"); |
||
15 | if (level == "h1" || level == "h2" || level == "h3" || level == "h4" || level == "h5" || level == "h6") { |
||
16 | hspans.push( elem ); |
||
17 | } |
||
18 | } |
||
19 | } |
||
20 | for (var i=0; i < hspans.length; i++) { |
||
21 | var elem = hspans[i]; |
||
22 | var parent = elem.parentNode; |
||
23 | var level = elem.getAttribute("class"); |
||
24 | var header = document.createElement( level ); |
||
25 | parent.replaceChild( header, elem ); |
||
26 | header.innerHTML = elem.innerHTML; |
||
27 | } |
||
28 | } |