innerHTML <script>
var bbcode = document.getElementById('insert_bbcode');
bbcode.style.display = "block";
bbcode.style.border = "1px solid #ff0000";
bbcode.innerHTML = "<script>addBBcodeBar('paper_txt')</script>"; // не получается вставить
<div id="insert_bbcode" style="display:none;"></div> почему не вставляется <script>...</script> вместо него пусто, тем не менее если использовать innerText, то всавить, но это не HTML... как вставить? |
var script = document.createElement("script");
script.src = "путь к скрипту";
script.type = "text/javascript";
document.getElementById('insert_bbcode').appendChild(script);
|
то, что вы хотите получить:
<html>
<head>
</head>
<body>
<div id="insert_bbcode" style="display:none; border: none;"></div>
<script>
var bbcode = document.getElementById('insert_bbcode');
bbcode.style.display = "block";
bbcode.style.border = "1px solid #ff0000";
bbcode.innerHTML = ('\<script\>addBBcodeBar(\"paper_txt\")\<\/script\>');
</script>
</body>
</html>
но работать вставленный скрипт всё равно не будет, ибо страница уже загружена. |
да, я так и делал, скрипт не работал, вот я и хочу попробовать как нибудь его подгрузить. пробую с createElement, еще наткнулся в инете на eval, можете что-нибудь подсказать про eval?
|
Старайтесь eval не использовать, да и тут негде и незачем его использовать.
|
Цитата:
может, легче будет получить её результат и уже его вставить в нужный блок? |
function addBBcodeBar(obj) {
document.write('<div class="toolbar">');
document.write('<img class="button" src="images/bbcode/bold.gif" onClick="addTags(\'[b]\',\'[/b]\','+obj+')">');
document.write('<img class="button" src="images/bbcode/italic.gif" onClick="addTags(\'[i]\',\'[/i]\','+obj+')">');
document.write('<img class="button" src="mages/bbcode/underline.gif" onClick="addTags(\'[u]\',\'[/u]\','+obj+')">');
document.write('<img class="button" src="images/bbcode/strike.gif" onClick="addTags(\'[s]\',\'[/s]\','+obj+')">');
document.write('<img class="button" src="images/bbcode/link.gif" onClick="addURL('+obj+')">');
document.write('<img class="button" src="images/bbcode/image.gif" onClick="addImage('+obj+')">');
document.write('<img class="button" src="images/bbcode/quote.gif" onClick="addTags(\'[quote]\',\'[/quote]\','+obj+')">');
document.write('</div>');
}
|
короче добавляет картинки с bb-кодами
|
ну вот. собирай это всё в одну строку и выводи в нужный блок :)
|
по-моему это как то глупо...:cray:
|
Цитата:
а потом
var a = newfunction();
var b = document.getElementById('insert_bbcode');
b.innerHTML(a);
|
Цитата:
|
Цитата:
|
Цитата:
|
<td><div id="[_id_comm]" class="div_script"><script>edToolbar('paper_txt');</script></div></td>
а в JS перебрал по тегу div
var elems = document.getElementsByTagName('div');
for (var i=0; i<elems.length; i++) {
if (elems[i].id == [_id_comm])
elems[i].style.display = 'block';
}
.div_script {
padding-left: 6px;
display: none;
}
|
О_О а смысл в этом какой? :)
и зачем перебирать все div'ы, когда уже известен id? |
Раед,
мне объяснили тут так: что любой человек, может в евале что угодно написать, и этот код выполниться, так как будто бы он для этого и предназначался, короче обернется все это плохими последствиями)) |
id неизвестен, просто это неполный код.
смысл в том что это для редактирования комментариев. я могу конечно целиком все скинуть, но это слишком громоздкий код. но если интересно могу скинуть. |
Цитата:
Цитата:
Цитата:
|
Цитата:
в самом деле, если не используются жесткие связки с сервером, eval — настолько же безобиден, как и document.write и прочие :) |
почему то перестали работать блоки URL и IMG, вернуля к вашему варианту
var str0 = '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; var str1 = '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>'; var str2 = '<div class="toolbar">'; var str3 = '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">'; var str4 = '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">' var str5 = '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">'; var str6 = '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">'; var str7 = '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">'; var str8 = '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">'; var str9 = '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">'; var str10 = '</div>'; var str = str0+str1+str2+str3+str4+str5+str6+str7+str8+str9+str10; некрасивый говнокод((( |
<html>
<head>
<script>
function createStr(){
var str ='';
str += '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>';
str += '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>';
str += '<div class="toolbar">';
str += '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">'
str += '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">';
str += '</div>';
return str;
}
function addImg(elemId){
var a = document.getElementById(elemId);
a.innerHTML = createStr();
}
</script>
</head>
<body>
<div id='block'>Сюда вставятся картинки</div>
<br>
<a href='#' onclick="addImg('block');">Вставить</a>
</body>
</html>
|
по-моему, всё работает :)
|
да работать то работает, но если вдруг захочется добавить какой то еще bb-код, то придется менять и там и там и там... а не в одном месте(( это удручает
|
ok) тогда так:
<html>
<head>
<script>
function createStr(elemId){
var str ='';
str += '<div class="tag_a" id="window_tags_a"><div class="input"><input id="input_link_a" type="text" value="Введите ссылку"/><br><input id="input_text_a" type="text" value="Введите текст ссылки"/><div id="window_supmit_a" onClick="addURL(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>';
str += '<div class="tag_img" id="window_tags_img"><div class="input"><input id="radio_pos" type="hidden" value=""/><span id="radio_1" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'left\');">слева</span>     <span id="radio_2" style="font-weight:100;cursor:pointer;color:#000;" onClick="positionImg(\'center\');">центр</span>     <span id="radio_3" style="font-weight:100;cursor:pointer; color:#000;" onClick="positionImg(\'right\');">справа</span><input id="input_link_img" name="input_link_img" style="width:220px;" type="text" value="Введите ссылку"/><div id="window_supmit_img" onClick="addImage(\'paper_txt\',1)"><p id="p_sub">ОК</p></div></div></div>';
str += '<div class="toolbar">';
str += '<img class="button" src="templates/css/images/bbcode/bold.gif" title="Жирный" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[b]\',\'[/b]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/italic.gif" title="Курсив" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[i]\',\'[/i]\',\'paper_txt\')">'
str += '<img class="button" src="templates/css/images/bbcode/underline.gif" title="Подчеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[u]\',\'[/u]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/strike.gif" title="Перечеркнутый" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[s]\',\'[/s]\',\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/link.gif" title="URL-адрес" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addURL(\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/image.gif" title="Картинка" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addImage(\'paper_txt\')">';
str += '<img class="button" src="templates/css/images/bbcode/quote.gif" title="Цитата" onMouseOver="changeImg(this,1)" onMouseOut="changeImg(this,0)" onClick="addTags(\'[quote]\',\'[/quote]\',\'paper_txt\')">';
str += '</div>';
switch (elemId){
case 'block2': // для какого блока
str += 'Новые коды'; // какие коды
str += 'Новые коды';
str += 'Новые коды';
str += 'Новые коды';
break;
};
document.getElementById(elemId).innerHTML = str;
}
</script>
</head>
<body>
<div id='block' style="background-color:red">Сюда вставятся картинки</div>
<br>
<div id='block2' style="background-color:green">Сюда вставятся новые коды</div>
<a href='#' onclick="createStr('block');">Вставить старые bbcode</a>
<a href='#' onclick="createStr('block2');">Вставить новые bbcode</a>
</body>
</html>
|
и можно добавлять что угодно, для каждого блока новые коды или редактировать старые и т.д.
|
можешь с помощью jquery .html вставить. Там выполнятся скрипты.
|
Цитата:
|
| Часовой пояс GMT +3, время: 21:38. |