IPB

Здравствуйте, гость ( Вход | Регистрация )

3 страниц V  < 1 2 3 >  
Reply to this topicStart new topic
> ВНИМАНИЕ! Новые функции на форуме, Что было реализовано
Аpple
сообщение 26.10.2010, 13:04
Сообщение #21


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



Цитата(Директор Пляжа) *
Вот код

Это ж стандартное формирование вывода на РНР, вызова функций, которые занимаются непосредственно вставкой (определение copyQ() и ins() ) тут нет =)

Ланенько, чуть позже, когда освобожусь, вытащу скрипт из документа и посмотрю.
Интересует меня не формирование вызова функций, а их определение и описание.

Цитата(Директор Пляжа) *
чтобы он подгружал работающую функцию при определении USER-Agent пользователя

Надеюсь имелось в виду на клиентской стороне?
Тогда мы не подгружаем разные функции, а всего лишь меняем поведение единственной.

Сообщение отредактировал Аpple - 26.10.2010, 13:06
Go to the top of the page
 
+Quote Post
Аpple
сообщение 26.10.2010, 15:06
Сообщение #22


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



Покопал.
Не зря говорят "It's easy to optimize correct code, than correct optimized one".
Ждем-с код, в котором определены все функции, отвечающие за цитирование и вставку.

Сообщение отредактировал Аpple - 26.10.2010, 15:07
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 18:34
Сообщение #23


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Цитата(Аpple @ 26.10.2010, 14:04) *
Цитата(Директор Пляжа) *
Вот код

Это ж стандартное формирование вывода на РНР, вызова функций, которые занимаются непосредственно вставкой (определение copyQ() и ins() ) тут нет =)

Ланенько, чуть позже, когда освобожусь, вытащу скрипт из документа и посмотрю.
Интересует меня не формирование вызова функций, а их определение и описание.

Цитата(Директор Пляжа) *
чтобы он подгружал работающую функцию при определении USER-Agent пользователя

Надеюсь имелось в виду на клиентской стороне?
Тогда мы не подгружаем разные функции, а всего лишь меняем поведение единственной.
Ну типа того, нечто вроде

if Chrome
{
код
}

А вот и используемый код:

Код
function ins(name)
{
    my_show_div(my_getbyid('qr_open'));
    if (document.REPLIER.Post)
    {
        var input=document.REPLIER.Post;
        input.value=input.value+"[b]"+name+"[/b]"+" \n"
    }
}

function copyQ(qinf,date,pid)
{
    txt='';
    if (document.getSelection)
    {
        txt=document.getSelection();
    }
    else if (document.selection)
    {
        txt=document.selection.createRange().text;
    }
    if (txt.replace(" ","") != "")
    {
        txt='[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']\n'+txt+'\n[/quote]\n';
    }
}

function pasteQ()
{
    my_show_div(my_getbyid('qr_open'));
    if (document.REPLIER.Post)
        document.REPLIER.Post.value += txt;
}





--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Аpple
сообщение 26.10.2010, 19:10
Сообщение #24


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



Значит так-с, говорю по коду, который выложен выше, БЕЗ проверок.
Т.е чисто по памяти и по знаниям (если вдруг ошибся - значит херово).

Мне конечно не дано понять суть разделения одного функционала на две разные функции, ну да ладно.
В Хроме не срабатывает последний кусок кода.
Я ПОЛАГАЮ из-за того, что не происходит неявного преобразования типа к строковому объекту.
getSelection возвращает, насколько я помню, не ТЕКСТ, а объект, в котором содержится информация об элементе, тип и др., включая метод toString.
Попробую набросать свой вариант быстренько (опечатки могут быть, т.к пишу прям на форуме):

Код
window.quoteSelection;

function ins(name) {
var fastReply = document.getElementById("fast-reply_textarea");

if(typeof(fastReply) != "undefined") {
  fastReply.value += '\r\n[b]' + name + '[/b]\r\n';
}
}

function copyQ(qinf, date, pid) {
if(document.getSelection()) {
  window.quoteSelection = document.getSelection().toString();
} else window.quoteSelection = document.selection.createRange().text;

window.quoteSelection = '\r\n[quote name="'+qinf+'" post="'+pid+'" date="'+date+'"]' + window.quoteSelection + '[/quote]\r\n';
}


function pasteQ() {
var fastReply = document.getElementById("fast-reply_textarea");

if(typeof(fastReply) != "undefined") {
  fastReply.value += window.quoteSelection;
}
}

Хотя лично я не вижу смысла в разделении copyQ и pasteQ.
И плавающее окошко, ИМХО, удобней =))
Go to the top of the page
 
+Quote Post
Аpple
сообщение 26.10.2010, 19:28
Сообщение #25


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



*ушел на вечерний пикап*
Ыыы =))
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 19:38
Сообщение #26


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Ладно, попробую потестить:)


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 19:41
Сообщение #27


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Плавающее окошко, кстати, поставлю :)


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 19:48
Сообщение #28


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



В Хроме заработало :) В остальных перестало :)

Но не без глюков и в Хроме. Например если цитировать текст, то он
Код
[quote=...][/quote]
не инсертит.



--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 20:00
Сообщение #29


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



окошко поставил :)


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 20:08
Сообщение #30


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



...которое не работает в Огнелисе и Хроме

Код:

Цитата
function qr_float( status )
{
if ( status == 1 )
{
document.getElementById('fast-reply-controls').className='rte-buttonbar-float';
document.getElementById('qr_options').style.display='none';
document.getElementById('qr_flink').innerHTML='<a href="java script:qr_float(0);">нормальное окно ответа</a>';
}
else
{
document.getElementById('fast-reply-controls').className='rte-buttonbar';
document.getElementById('qr_options').style.display='';
document.getElementById('qr_flink').innerHTML='<a href="java script:qr_float(1);">«плавающее» окно ответа</a>';
document.REPLIER.Post.focus();
}
}


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 26.10.2010, 20:20
Сообщение #31


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



форма заработала в Файфокс, thanks to Гней Попмей :)


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Аpple
сообщение 26.10.2010, 23:32
Сообщение #32


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



Попробовал переписать код.
Да, Сафари меня жестоко поимел, но в хроме, увы, багов не было.
Код:
Код
function insertQuote() {
    var quoteArea = document.getElementById("fast-reply_textarea");
    var quoteSelected;
    
    if(document.getSelection) {
        quoteSelected = document.getSelection().toString();
    } else if(document.selection && document.selection.createRange) {
        quoteSelected = document.selection.createRange().text;
    } else {
        quoteSelected = window.getSelection().toString();
    }

    quoteArea.value += '[quote]' + quoteSelected + '[/quote]\r\n';
}

Проверен:
1. IE 6+
2. Safari 3+
3. Firefox
4. Chrome
5. Opera

Никаких ошибок, включая правильную вставку тегов цитаты.
Если не будет работать - ей богу не знаю, уволить тогда меня надо =)

Сообщение отредактировал Аpple - 26.10.2010, 23:33
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 27.10.2010, 20:31
Сообщение #33


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Отлично! Немного усовершенствуем, и переименуем функцию, чтобы в шаблонах имя не менять:

Код
function ins(name)
{
    my_show_div(my_getbyid('qr_open'));
    if (document.REPLIER.Post)
    {
        var input=document.REPLIER.Post;
        input.value=input.value+"[b]"+name+"[/b]"+" \n"
    }
}

function copyQ(qinf,date,pid) {
    var quoteArea = document.getElementById("fast-reply_textarea");
    var quoteSelected;
    
    if(document.getSelection) {
        quoteSelected = document.getSelection().toString();
    } else if(document.selection && document.selection.createRange) {
        quoteSelected = document.selection.createRange().text;
    } else {
        quoteSelected = window.getSelection().toString();
    }

    quoteArea.value += '[quote name=\''+qinf+'\' date=\''+date+'\' post='+pid+']' + quoteSelected + '[/quote]\r\n';
}

function pasteQ()
{
    my_show_div(my_getbyid('qr_open'));
    if (document.REPLIER.Post)
        document.REPLIER.Post.value += txt;
}


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 27.10.2010, 20:40
Сообщение #34


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



...ну и заменим код немного:

Код
if ( $poster['id'] )
                {
                        $poster['_members_display_name'] = "<a href='{$this->base_url}showuser={$poster['id']}'>{$poster['members_display_name_short']}</a>";
                        $poster['ins_nick'] = "<a href=\"java script:ins('".str_replace(array(" ", "'"), array("&nbsp;", "\'"), $poster['members_display_name'] )."')\">Вставить ник</a>";
                }
                $qqn = str_replace( array(" ", "& #39;"), array("&nbsp;", "\'"), $poster['members_display_name'] );
                $poster['ins_q'] = "<a onClick=\"copyQ('{$qqn}','{$row['q_date']}', '{$row['pid']}');\" href=\"java script:pasteQ();\">Цитата</a>";


вместо onmouseover, вставим onClick, так как Хром при наведении начинает автоматом вставлять текст в окно ввода:)

Apple, огромное спасибо!!!


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 27.10.2010, 20:48
Сообщение #35


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Итак, подытожим.

Благодаря кодерскому гуру Apple (фанфары и благодарности) стала во всех популярных браузерах работать функция Вставки ника и Быстрой Цитаты. Фактически, не нужно теперь жать Ответить, а сразу приступать к постингу... тем более, что в "Быстром ответе" теперь доступно плавающее окошко... которое, правда, в Хроме работать отказывается.

Пару фишек еще обязательно добавлю и обновлю первый пост.



--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Аpple
сообщение 27.10.2010, 21:25
Сообщение #36


Постоялец
***

Группа: Форумчанин
Сообщений: 430
Регистрация: 2.5.2010
Вставить ник
Цитата
Пользователь №: 1006257
Страна:
Пол:



Цитата(Директор Пляжа) *
Apple, огромное спасибо!!!

Пожалуйста =)

Цитата(Директор Пляжа) *
которое, правда, в Хроме работать отказывается.

Надо будет глянуть обязательно.
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 27.10.2010, 22:43
Сообщение #37


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Код
<script type="text/javascript">
<!--
        document.onkeydown=function(e){
        if (e) event=e
        if ((event.keyCode==13)&&(event.ctrlKey)){
                try{
                        if (e){
                                                document.REPLIER.submit.click();
                        }
                }catch(e){};
        }}
-->
</script>

Добавил отправку сообщений по CTRL+Enter при быстром ответе


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Директор Пляжа
сообщение 27.10.2010, 23:18
Сообщение #38


You look like the sun
Иконка группы

Группа: Супер Гуру
Сообщений: 5430
Регистрация: 5.7.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 3998
Страна:
Пол:



Цитата(Аpple @ 27.10.2010, 22:25) *
Надо будет глянуть обязательно.
Уже работает. Там из за одного пункта не работало ни в Огнелисе, ни в Хроме.


--------------------


Мне нужна твоя одежда и мотоцикл!

Voulez-vous coucher avec moi
Go to the top of the page
 
+Quote Post
Tirgis
сообщение 7.11.2010, 18:05
Сообщение #39


Хентайщик
*******

Группа: Выпускник ARDOR
Сообщений: 2505
Регистрация: 19.4.2005
Вставить ник
Цитата
Из: Москва
Пользователь №: 936
Страна:
Пол:



Цитата(Директор Пляжа @ 24.10.2010, 18:06) *
4. Немногим известно, что существует облегченная, текстовая версия форума по адресу - http://www.pickupforum.com/lofiversion/ . Как видите, это версия без баннеров, графики и прочих перегруженных элементов. Например таким образом удобно смотреть форум с телефона. Но была одна проблема - смотреть форум можно, а отвечать в темах нельзя. Так вот, теперь такая возомжность появилась. Теперь вы можете постить на форум со своих мобильников, не растрачивая трафик.


УРА! Но с моего мобильника не работает. Samsung S5620.
Go to the top of the page
 
+Quote Post
stuffin muffin
сообщение 1.4.2011, 20:34
Сообщение #40


Композитор Тьмы и Света
Иконка группы

Группа: Супер Гуру
Сообщений: 10605
Регистрация: 7.11.2007
Вставить ник
Цитата
Из: Москва
Пользователь №: 4420
Страна:
Пол:



я вас прошу - добавьте ироничный смайлик. его пипец как не хватает на этом форуме ab.gif


--------------------
Если не знаешь, что делать дальше - делай дальше.
Жизнь - это повесть глупца, рассказанная идиотом, полная шума и ярости, но лишенная смысла. У. Шекспир
Go to the top of the page
 
+Quote Post

3 страниц V  < 1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 

RSS Текстовая версия   Архив форума Сейчас: 28.3.2024, 18:24
youtube-канал об отношениях Rambler's Top100