- 1
- 2
- 3
- 4
var body=document.getElementsByTagName('body')[0];
var newBody="";
newBody='<div id="'+this.cntID+'" class="hide you">'+this.flashCntDivArr.join('')+'</div>'+bgLayerDiv+"<div id='tplCnt'>"+body.innerHTML+"</div>";
body.innerHTML=newBody;
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
+157
var body=document.getElementsByTagName('body')[0];
var newBody="";
newBody='<div id="'+this.cntID+'" class="hide you">'+this.flashCntDivArr.join('')+'</div>'+bgLayerDiv+"<div id='tplCnt'>"+body.innerHTML+"</div>";
body.innerHTML=newBody;
Натолкнулся в одном из проектов на такой вот способ добавления элемента в DOM. Я чего-то не понимаю?
wvxvw 09.10.2012 12:57 # −2
nbspjr 09.10.2012 13:01 # 0
Если же флеш установлен, происходит такое:
newBody='<div id="'+this.cntID+'" class="hide you">'+this.flashCntDivArr.join('')+'</div>'+bgLayerDiv+body.innerHTML;
Соответственно, весь флеш на странице в это время перезагружается. Добавление этого div происходит только один раз.
wvxvw 09.10.2012 13:11 # 0
Наверное, просто не нужно было грузить флеш изначально, а только после проверки.
nbspjr 09.10.2012 22:50 # 0
Но если флеш плагин не подключен, то происходит то, что запощено в говнокоде: весь контент на странице оборачивается в div, а перед контентом вставляется div с сообщением об ошибке.
guest 09.10.2012 13:01 # −1
document.getElementsByTagName('body')[0].innerHTML='<div id="'+this.cntID+'" cla...
roman-kashitsyn 09.10.2012 13:11 # +1
Только экранирования нет, оно мне не нужно было. Работает примерно так:
3.14159265 09.10.2012 13:24 # 0
У резига кстати похожий шаблонизатор был.
3.14159265 09.10.2012 13:36 # 0
$('<'+name+'/>',{attrs}).append(inner).
Но всё-равно уверен, что такую байду писали многие js-кодеры изнуренные document.createElementами.
Ром, а у тебя оно тоже работает в том случае когда второй аргумент - массив вложенных, а не мап?
roman-kashitsyn 09.10.2012 13:54 # 0
Да, ещё можно функции подставлять, которые генерят спецификации, вроде такого:
3.14159265 09.10.2012 14:00 # 0
nbspjr 09.10.2012 14:53 # 0