Ну вот и всё :)
Эти Форумы Лотоса завершают своё существование, как и было запланировано Новые Форумы Лотоса ждут всех и каждого. Новый подход, новые идеи, новые горизонты.
Если хотите продолжать старые темы, то открывайте их на новом форуме под тем же названием и оставляйте в первом сообщении ссылку на старую тему.
У меня в Опере 10.54 не работают ссылки "цитата" (которые рядом с каждым постом).
Посмотрел исходник - такой скрипт c "textRange" работает только в IE.
Предлагаю вариант, который работает у меня в Опере, и по идее должен работать везде, кроме IE:
if (theSelection) {
// Add tags around selection
document.post.message.focus();
emoticon( '
Цитата:
' + theSelection + '
\n');
theSelection = '';
return;
}else{
alert('Выделите любой текст на странице и нажмите эту кнопку');
}
}
Добавлено спустя 6 минут 21 секунду:
Цитата:
Предлагаю вариант, который работает у меня в Опере, и по идее должен работать везде, кроме IE:
Ошибка Читать так:
Предлагаю вариант, который работает у меня в Опере, и по идее должен работать везде.
Добавлено спустя 21 минуту 43 секунды:
Да, совсем забыл - оччень неудобно стало смайлить!
Раньше смайлики ставились в позицию caret-a, а теперь лепятся в конец текста. И если я вдруг забыл рассмеяться и хочу засмеяться задним числом - мне приходится копировать мой смех и вставлять в нужное место. Это замедляет и отвлекает и вообще не правильно с точки зрения гармоничности.
Вообще, раньше было лучше чем сейчас. Все ссылки работали как надо, смайлики были понятнее, и наверху страницы не болталось это addthis сомнительной полезности на 200К...
if (theSelection) {
// Add tags around selection
document.post.message.focus();
emoticon( '
Цитата:
' + theSelection + '
\n');
theSelection = '';
return;
}else{
alert('Выделите любой текст на странице и нажмите эту кнопку');
}
}
wolfhart, ну, вообще-то ее может применить только админ сервака... Это кусок исходника страницы, на которую ты сейчас смотришь. Там надо поменять те две сточки на эти 7 синих.
(Вообще, для Оперы можно писать собственные жискрипты. Но я так сильно извращаться не намерен...)
di, благодарю
Код подправил. Теперь в Опере тоже работает функция "цитата". Однако если цитируется несколько строк, то между ними оказываются пустые строки. В других броузерах такой проблемы нет.
Также пока не ясно, как ставить смайлы на место курсора, а не в конце. Корректно эта функция работает только в IE.
К сведению, пользователи ariom.ru предпочитают следующие броузеры:
Firefox 3 - 31.7%
Opera 10 - 22.9%
Explorer 8 - 13.6%
Explorer 7 - 8.5%
Opera 9 - 7.7%
Chrome - 6.0%
Explorer 6 - 6.0%
Opera Mini - 1.9%
Firefox 2 - 0.5%
Safari 4 - 0.4%
Однако если цитируется несколько строк, то между ними оказываются пустые строки.
Это из-за унификации движка с *nix. Когда нить поправят - щас уже делают 10.6.
Вообще, десятку делали в страшной спешке - чтобы успеть к разделу пирога в Евросоюзе, когда Microsoft обязали предоставить в винде возможность выбора браузера.
Цитата:
Также пока не ясно, как ставить смайлы на место курсора, а не в конце. Корректно эта функция работает только в IE.
Посмотрю на досуге. JScript не люблю ковырять чиста из эстетических соображений - тяжело себя заставить...
Добавлено спустя 48 минут:
По поводу смайликов...
Цитата:
if (opener.document.forms['post'].message.createTextRange && opener.document.forms['post'].message.caretPos) {
Объект TextRange есть только в IE. Соответственно это условие в др. бр. не выполняется...
Добавлено спустя 45 минут 34 секунды:
Для popup окна с рожами:
Код:
function emoticon(text) {
text = ' ' + text + ' ';
if (opener.document.forms['post'].message.createTextRange && opener.document.forms['post'].message.caretPos) {
var caretPos = opener.document.forms['post'].message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
} else {
if (opener.document.forms['post'].message.selectionStart) {
var mes = opener.document.forms['post'].message;
var newCaretPos = mes.selectionStart+text.length;
opener.document.forms['post'].message.value = mes.value.substr(0,mes.selectionStart)+text+mes.value.substr(mes.selectionEnd,mes.value.length-mes.selectionEnd);
opener.document.forms['post'].message.selectionStart = newCaretPos;
opener.document.forms['post'].message.selectionEnd = newCaretPos;
} else {
opener.document.forms['post'].message.value += text;
}
Добавлено спустя 6 минут 49 секунд:
Для основного окна:
Код:
function emoticon(text) {
if (document.post.message.createTextRange && document.post.message.caretPos) {
var caretPos = document.post.message.caretPos;
caretPos.text = caretPos.text.charAt(caretPos.text.length - 1) == ' ' ? text + ' ' : text;
} else {
if (document.post.message.selectionStart) {
var mes = document.post.message;
var newCaretPos = mes.selectionStart+text.length;
document.post.message.value = mes.value.substr(0,mes.selectionStart)+text+mes.value.substr(mes.selectionEnd,mes.value.length-mes.selectionEnd);
document.post.message.selectionStart = newCaretPos;
document.post.message.selectionEnd = newCaretPos;
} else {
document.post.message.value += text;
}
}
document.post.message.focus();
}
Добавлено спустя 23 минуты 28 секунд:
Вообще, при беглом взгляде на иерархию объектов от мясоедов из MS, возникает легкое недоумение - нафига упираются все остальные вегетарианцы...
Вы не мoжeте начинать темы Вы не мoжeте отвечать на сообщения Вы не мoжeте редактировать свои сообщения Вы не мoжeте удалять свои сообщения Вы не мoжeте голосовать в опросах
Движется на чудо-технике по сей день
Соблюдайте тишину и покой :)