Перейти к контенту

[2.3.x]Translit / Транслит


h8)u

Рекомендуемые сообщения

  • Ответы 80
  • Создана
  • Последний ответ

Лучшие авторы в этой теме

Лучшие авторы в этой теме

Загружено фотографий

опера vs кодировка

рассказываю

файл, содержащий таблицу символов прикрепляется без спецификации кодировки

поэтому вам придется самим насильно установить кодировку Кириллица — windows-1251

во вкладке Вид — Кодировка

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

мозилла ругается .... IE & FF все ок.. а мозилла ругается....

--

Error: uncaught exception: [Exception... "Component returned failure code: 0x80004005 (NS_ERROR_FAILURE) [nsIDOMNSHTMLTextAreaElement.selectionEnd]" nsresult: "0x80004005 (NS_ERROR_FAILURE)" location: "JS frame :: /forum/jscripts/ips_text_editor_func.js :: translit :: line 1" data: no]

--

Ссылка на комментарий
Поделиться на других сайтах

Попробовал ставить.

Когда ставлю в ips_text_editor.js вставку для несжатой версии-вообще исчезают вся верхняя панелька (шрифты,смайлы и т.п) в форуме ответа.Хоть у меня и не сжатая. Иконка Транслит наползла на иконку "А"- тож не знаю как это дело поправить... ((

Ссылка на комментарий
Поделиться на других сайтах

Странно...

Я всё сделал по инструкции , но кнопка у не появляется =(

у меня версия 2,2,1

 

Может я ошибся где-то в файле ips_text_editor.js

хотя делал всё по инструкции ..

Чего я забыл ?

Ссылка на комментарий
Поделиться на других сайтах

для рич текста придется делать по другому, я на этом намучался огого

 

разнеси функции непосредственно транслита в разные файлы

в std.js:

function translit()
{

var obj_ta = document.REPLIER.Post;

//----------------------------------------
// It's IE!
//----------------------------------------
if ( (ua_vers >= 4) && is_ie && is_win)
{
	if (obj_ta.isTextEdit)
	{
		obj_ta.focus();
		var sel = document.selection;
		var rng = sel.createRange();
		rng.colapse;
		if((sel.type == "Text" || sel.type == "None") && rng != null)
		{
			rng.text = dotranslate(rng.text);
		}
	}
	else
	{
		obj_ta.value = dotranslate(obj_ta.value);
	}
}
//----------------------------------------
// It's MOZZY!
//----------------------------------------

else if ( obj_ta.selectionEnd )
{
	var ss = obj_ta.selectionStart;
	var st = obj_ta.scrollTop;
	var es = obj_ta.selectionEnd;

	if (es <= 2)
	{
		es = obj_ta.textLength;
	}

	var start  = (obj_ta.value).substring(0, ss);
	var middle = (obj_ta.value).substring(ss, es);
	var end	= (obj_ta.value).substring(es, obj_ta.textLength);

	//-----------------------------------
	// text range?
	//-----------------------------------

	if (obj_ta.selectionEnd - obj_ta.selectionStart > 0)
	{
		middle = dotranslate(middle);
	}

	obj_ta.value = start + middle + end;

	var cpos = ss + (middle.length);

	obj_ta.selectionStart = cpos;
	obj_ta.selectionEnd   = cpos;
	obj_ta.scrollTop	  = st;


}
//----------------------------------------
// It's CRAPPY!
//----------------------------------------
else
{
	obj_ta.value = dotranslate(obj_ta.value);
}

obj_ta.focus();

return;
}

rte.js:

function translit()
{

if ( ! isRichText )
{
	return;
}

if ( isIE )
{
	var sel = rtewindow.document.selection;
	var ts  = rtewindow.document.selection.createRange();
	ts.colapse;
	if ( (sel.type == "Text" || sel.type == "None") )
	{
		ts.text = dotranslate(ts.text);
	}
	else
	{
		rtewindow.document.body.innerHTML = dotranslate(rtewindow.document.body.innerHTML);
	}
}
else
{
	//-------------------------------
	// FRAGment, not a game of UT
	//-------------------------------

	var frag = rtewindow.document.createDocumentFragment();
	var span = rtewindow.document.createElement("span");

	//-------------------------------
	// Apply tags...
	//-------------------------------

	sel_html = _gecko_get_html();

	//-------------------------------
	// Remove empty span tags
	//-------------------------------

	if ( sel_html )
	{
		span.innerHTML = dotranslate(sel_html);
	}
	else
	{
		span.innerHTML = dotranslate(span.innerHTML);
	}

	while ( span.firstChild )
	{
		frag.appendChild(span.firstChild);
	}

	_gecko_insert_node_at_selection( frag );
}


rtewindow.focus();

return;
}

 

конечно тупняк, но решает

Ссылка на комментарий
Поделиться на других сайтах

Проблема такая вышла, у меня не выходит... Но я пробовал менять underline через АЦ... Никакого толка... В чем может быть проблема? Вроде skin_post.php Тоже отредактировал... Но опят ничего... Вместо ссылки <img=....underline.png"> ставил просто 111 но всеравно показывал картинку... И в АЦ и в файле так сделал...

Версия форума 2.2.1

Ссылка на комментарий
Поделиться на других сайтах

  • 2 недели спустя...

А можно сделать так чтоб в D22 Shoutbox v1.1.2 тоже было?

Точнее кнопка есть, но не работает... И не разобрался, где редактировать это?

Если он берет автоматически с ответа все. То пусть и функции тоже.

 

Не подскажешь как сделать в D22 Shoutbox?

Ссылка на комментарий
Поделиться на других сайтах

  • 4 недели спустя...
А не подскажите , как это в форму быстрого ответа запихнуть?

Мне тоже интересно.

 

И ещё хотел спросит можно ли сделать чтоб он переводил не толко Английский > Русский, а и наоборот Русский > Английский

Ссылка на комментарий
Поделиться на других сайтах

А не подскажите , как это в форму быстрого ответа запихнуть?

Мне тоже интересно.

 

И ещё хотел спросит можно ли сделать чтоб он переводил не толко Английский > Русский, а и наоборот Русский > Английский

Я сделал так - добавил в шаблон quick_reply_box_open код кнопки транслита, немножко изменив его по образцу других кнопок в том же шаблоне:

<td><div class="rte-normal"><a href="java script:translit()"><img src="style_images/<#IMG_DIR#>/folder_editor_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

Потом весь дополнительный код с функциями транслита, что добавляется в файлик ips_text_editor.js, я заключил в тэги джаваскрипта <script type="text/javascript">КОД</script> и сунул в тот же самый шаблон в самый верх. Это конечно метод довольно таки костыльный, т.к. он немного увеличит расход траффика при загрузке формы быстрого ответа, но зато все работает :D Если найдется другой, более удобный метод, пишите...

Ссылка на комментарий
Поделиться на других сайтах

  • 1 месяц спустя...
  • 2 недели спустя...

если вписать

<td><div class="rte-normal"><a href="java script:translit()"><img src="style_images/<#IMG_DIR#>/folder_editor_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

то тебя форум пошлет по матушке в адрес форума/java%20script:translit()

 

видать чего то не хватает :D

есть еще предложения?

Ссылка на комментарий
Поделиться на других сайтах

Знающие люди догадаются оттуда пробел убрать...
Ссылка на комментарий
Поделиться на других сайтах

Sannis

согласен, я дурак :D исправил.. полегчало.

Благодарствие.

 

Для таких же тупых как я, которые без подсказок не понимают, то пробел убираем между java script

Ссылка на комментарий
Поделиться на других сайтах

scorpion1

да у меня подошло.

 

Sannis

или кто знает.. как этот же мод добавить в быстрое редактирование? точно также как и в быстрый ответ? если так то в какой шаблон ?

Ссылка на комментарий
Поделиться на других сайтах

как этот же мод добавить в быстрое редактирование? точно также как и в быстрый ответ? если так то в какой шаблон ?

 

Принцип тотже. Если в быстрый ответ уже добавили, то нужно только кнопку сделать. Шаблон skin_post->inline_edit_quick_box

Ссылка на комментарий
Поделиться на других сайтах

фокус не удался.

Кнопка появилась после

<td><div class="rte-normal"><a href="java script:translit()"><img src="style_images/<#IMG_DIR#>/folder_editor_images/rte-translit.gif" alt="Translit" title="Translit" ></a></div></td>

 

но не функционирует, даже после добавления самого кода транслитератора..ни с ним ни без него не фурычит :D

 

неужели я опять туплю?

Ссылка на комментарий
Поделиться на других сайтах


×
×
  • Создать...

Важная информация

Находясь на нашем сайте, вы соглашаетесь на использование файлов cookie, а также с нашим положением о конфиденциальности Политика конфиденциальности и пользовательским соглашением Условия использования.