Простой Markup скрипт
22.04.2010Голосование
| Тип | Вопрос |
| Состояние | Исправлено |
| Приоритет | Высокий |
| Версия | 3.49 |
| Система | * |
| Воспроизводимость | Нет |
| Автор | |
| Исполнитель | Блоголётчик |
Поскольку движок блоголета использует много скриптов, осмелюсь предположить, что ты в них разбираешься, а я вот уже второй день бьюсь над скриптом и никак не могу заставить работать его на
блоголете.
На простой странице работает а в админке никак:(
Можно ли заставить работать этот код:
Код
var textarea;
var content;
document.write("<link href=\"editor/styles.css\" rel=\"stylesheet\" type=\"text/css\">");
function edToolbar(obj) {
document.write("<div class=\"toolbar\">");
document.write("<input type=\"button\" value=\"b\" name=\"btnBold\" onClick=\"doAddTags('<strong>','</strong>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"i\" name=\"btnItalic\" onClick=\"doAddTags('<em>','</em>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"u\" name=\"btnUnderline\" onClick=\"doAddTags('<u>','</u>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"link\" name=\"btnLink\" onClick=\"doURL('" + obj + "')\">");
document.write("<input type=\"button\" value=\"IMG\" name=\"btnPicture\" onClick=\"doImage('" + obj + "')\">");
document.write("<input type=\"button\" value=\"OL\" name=\"btnOList\" onClick=\"doList('<ol>','</ol>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"UL\" name=\"btnuList\" onClick=\"doList('<ul>','</ul>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"blockquote\" name=\"btnQuote\" onClick=\"doAddTags('<blockquote>','</blockquote>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"h1\" name=\"btnH1\" onClick=\"doAddTags('<h1>','</h1>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"h2\" name=\"btnH2\" onClick=\"doAddTags('<h2>','</h2>','" + obj + "')\">");
document.write("<input type=\"button\" value=\"h3\" name=\"btnH3\" onClick=\"doAddTags('<h3>','</h3>','" + obj + "')\">");
document.write("</div>");
//document.write("<textarea id=\""+ obj +"\" name = \"" + obj + "\" cols=\"" + width + "\" rows=\"" + height + "\"></textarea>");
}
function doImage(obj)
{
textarea = document.getElementById(obj);
var url = prompt('Enter the Image URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
sel.text = '<img src="' + url + '">';
}
else
{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var sel = textarea.value.substring(start, end);
//alert(sel);
var rep = '<img src="' + url + '">';
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
function doURL(obj)
{
var sel;
textarea = document.getElementById(obj);
var url = prompt('Enter the URL:','http://');
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
if(sel.text==""){
sel.text = '<a href="' + url + '">' + url + '</a>';
} else {
sel.text = '<a href="' + url + '">' + sel.text + '</a>';
}
//alert(sel.text);
}
else
{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var sel = textarea.value.substring(start, end);
if(sel==""){
sel=url;
} else
{
var sel = textarea.value.substring(start, end);
}
//alert(sel);
var rep = '<a href="' + url + '">' + sel + '</a>';;
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
function doAddTags(tag1,tag2,obj)
{
textarea = document.getElementById(obj);
// Code for IE
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
//alert(sel.text);
sel.text = tag1 + sel.text + tag2;
}
else
{ // Code for Mozilla Firefox
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
var sel = textarea.value.substring(start, end);
//alert(sel);
var rep = tag1 + sel + tag2;
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
function doList(tag1,tag2,obj){
textarea = document.getElementById(obj);
// Code for IE
if (document.selection)
{
textarea.focus();
var sel = document.selection.createRange();
var list = sel.text.split('\n');
for(i=0;i<list.length;i++)
{
list[i] = '<li>' + list[i] + '</li>';
}
//alert(list.join("\n"));
sel.text = tag1 + '\n' + list.join("\n") + '\n' + tag2;
} else
// Code for Firefox
{
var len = textarea.value.length;
var start = textarea.selectionStart;
var end = textarea.selectionEnd;
var i;
var scrollTop = textarea.scrollTop;
var scrollLeft = textarea.scrollLeft;
var sel = textarea.value.substring(start, end);
//alert(sel);
var list = sel.split('\n');
for(i=0;i<list.length;i++)
{
list[i] = '<li>' + list[i] + '</li>';
}
//alert(list.join("<br>"));
var rep = tag1 + '\n' + list.join("\n") + '\n' +tag2;
textarea.value = textarea.value.substring(0,start) + rep + textarea.value.substring(end,len);
textarea.scrollTop = scrollTop;
textarea.scrollLeft = scrollLeft;
}
}
RSS комментарии к этой записи
Рубрики: Вопросы
← Ранее Шаблон Блоголета
Позже Загрузчик файлов не работает →
Комментарии (2) на запись “Простой Markup скрипт”
-
1 .
Блоголётчик пишет:
Скрипт на javascript и соответствено имеет мало отношения к самому движку, в нем разбираться я не смогу, ибо хоть и понимаю javascript и некторые скрипты для движка я см написал, но вот что и как делает этот скрипт и почему он работает/не работаетя тоже не знаю. Еще раз повторю - javascipt выполняется в браузере и к движку имеет мало отношение, разве что к теме, но это задача для html верстальщика, javascript програмиста. ВВот если бы ты представил некий плагин на php lдля блоголёта, то я бы аргументировано тебе ответил.
-
2 .
Блоголётчик пишет:
Скрипт на javascript и соответствено имеет мало отношения к самому движку, в нем разбираться я не смогу, ибо хоть и понимаю javascript и некторые скрипты для движка я см написал, но вот что и как делает этот скрипт и почему он работает/не работаетя тоже не знаю. Еще раз повторю - javascipt выполняется в браузере и к движку имеет мало отношение, разве что к теме, но это задача для html верстальщика, javascript програмиста. ВВот если бы ты представил некий плагин на php lдля блоголёта, то я бы аргументировано тебе ответил.
Оставить комментарий