Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Клуб программистов > О форуме и сайтах клуба
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 17.07.2016, 23:48   #31
min@y™
Цифровой кот
Старожил
 
Аватар для min@y™
 
Регистрация: 29.08.2014
Сообщений: 7,629
По умолчанию

Цитата:
Мне не кажется хорошей идей делать юзерскриты для изменения отображаемого контента, потому что большинство пользователей не будут это видеть, при этом будут видеть странные теги [video][/video]

Хотя можно сделать поиск без тегов, а просто по адресу. Может быть когда-нибудь сделаю.
Ты попробуй сначала. Удалить-то, если не прокатит, всегда успеешь.
Расскажу я вам, дружочки, как выращивать грибочки: нужно в поле утром рано сдвинуть два куска урана...

Последний раз редактировалось Alex11223; 17.07.2016 в 23:54.
min@y™ вне форума Ответить с цитированием
Старый 21.07.2016, 20:08   #32
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Неактуально, добавлено в форум.

Быстрое цитирование. Добавляет кнопку для цитирования выделенного текста.



И кнопка Цитата под сообщением вставляет цитату всего сообщения в форму быстрого ответа вместо открытия новой страницы.

ссылка на загрузку/установку (должно вывестись окно установки при наличии Greasemonkey/Tampermonkey)

Код:
// ==UserScript==
// @name         ProgrammersForumQuickQuote
// @namespace    http://programmersforum.ru/
// @version      0.70
// @description  adds a button to quote selected text, also changes the reply/quote button to not reload page
// @author       Alex P
// @include      http://programmersforum.ru/*
// @include      http://www.programmersforum.ru/*
// @require      https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
// @grant        none
// @downloadURL  https://github.com/AlexP11223/ProgForumRuUserscripts/raw/master/pf_quick_quote.user.js
// ==/UserScript==

// @grant must be none, otherwise cannot access vB_Editor in Firefox

(function() {
    'use strict';

    if (window.quickQuoteInitialized || $('#quick_quote_btn').length)
        return;
    window.quickQuoteInitialized = true;

    function addStyle(css) {
        var head = document.getElementsByTagName('head')[0];
        var style = document.createElement('style');
        style.type = 'text/css';
        style.innerHTML = css;
        head.appendChild(style);
    }

    function getSelectedText() {
        return window.getSelection().toString();
    }

    function onPostClicked(e) {
        var selectedText = $.trim(getSelectedText());
        var targetTag = e.target.nodeName.toLowerCase();
        if (selectedText && targetTag !== 'textarea' && targetTag !== 'input') {
            stopFadeOut();

            qqBtn.css({ top: (e.pageY + 10) + 'px', left: e.pageX + 'px'});

            qqBtn.show(50, function() {
                restartFadeOut();
            });

            var postContainer = $(this).closest('table');

            currPostId = postContainer.attr('id').replace('post', '');
            currAuthorName = postContainer.find('.bigusername').first().text();

            currSelectedText = selectedText;
        }
        else {
            qqBtn.hide();
        }
    }

    function appendText(text) {
        if (vB_Editor[QR_EditorID].get_editor_contents().length > 0) {
            text = '\n' + text;
        }
        vB_Editor[QR_EditorID].insert_text(text);
        vB_Editor[QR_EditorID].collapse_selection_end();
    }

    function appendQuote(text) {
        var nameQuoteChar = '';
        if (currAuthorName.indexOf(']') !== -1)
            nameQuoteChar = "'";

        appendText('['+'QUOTE=' + nameQuoteChar + currAuthorName + ';' + currPostId + nameQuoteChar + ']' + text + '[/QUOTE]\n');
    }

    function quoteSelected() {
        appendQuote(currSelectedText);

        qqBtn.hide();
    }

    function quotePost(postQuoteUrl, progressIndicator) {
        progressIndicator.show();

        $.get(postQuoteUrl, function(response) {
                var html = $.parseHTML(response);

                var quote = $.trim($(html).find('#vB_Editor_001_textarea').text());

                if (quote) {
                    appendText(quote);
                }
            }).done(function() {
            progressIndicator.hide();
        });
    }

    addStyle('.qq-btn { z-index: 999;' +
        'position: absolute;' +
        'border: 1px solid midnightblue;' +
        'padding: 3px;' +
        'font-weight: bold;' +
        'cursor: pointer;' +
        'background-color: lightyellow; }');

    $('<div id="quick_quote_btn" class="smallfont qq-btn" style="display:none;">Цитировать</div>').prependTo($('body'));

    var qqBtn = $('#quick_quote_btn');

    qqBtn.click(quoteSelected);

    qqBtn.hover(function() {
            stopFadeOut();
        },
        function() {
            restartFadeOut();
        });

    $('#posts').on('mouseup', 'div[id^="post_message"]', onPostClicked);

    var currSelectedText = '';
    var currPostId = '';
    var currAuthorName = '';

    var fadeOutTimer = undefined;

    function stopFadeOut() {
        clearTimeout(fadeOutTimer);
        qqBtn.stop(true, true);
    }

    function restartFadeOut() {
        stopFadeOut();

        fadeOutTimer = setTimeout(function() {
            qqBtn.fadeOut();
        }, 3000);
    }


    $('#posts').find('a:has(img[src*="quote."])').click( function(e) {
        e.preventDefault();

        var url = $(this).attr('href');
        var progressIndicator = $(this).prevAll('img[id^="progress"]').first();

        quotePost(url, progressIndicator);
    });
})();
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.06.2019 в 09:59.
Alex11223 вне форума Ответить с цитированием
Старый 21.07.2016, 20:23   #33
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

а потом думать почему все криво, после обновления или еще чего
нет уж, или сделают на уровне сайта, или пофик и плевать ))
come-on вне форума Ответить с цитированием
Старый 21.07.2016, 20:26   #34
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Вряд ли Алар что-либо обновит в ближайшее время

Да и если что они отключаются одной кнопкой.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.07.2016, 20:31   #35
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

да еще и ресурсы жрет(!), не не не
come-on вне форума Ответить с цитированием
Старый 21.07.2016, 20:36   #36
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Дык встроенное в форум столько же жрало бы.

А так да, наверняка еще и детей жрет, и жесткие диски убивает.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.07.2016, 20:39   #37
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

моя любимая тема на форуме )
Alar вне форума Ответить с цитированием
Старый 21.07.2016, 20:39   #38
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

да вот не факт что столько же, да еще при этом руками что то делать, тоже не казенные
come-on вне форума Ответить с цитированием
Старый 21.07.2016, 20:49   #39
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Цитата:
Сообщение от come-on Посмотреть сообщение
да вот не факт что столько же
Зависит от криворукости автора, а так для этих задач бекенд не нужен, все в любом случае на клиентской стороне.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 21.07.2016, 20:53   #40
come-on
Участник клуба
 
Регистрация: 21.10.2015
Сообщений: 1,361
По умолчанию

и не только автора скрипта, еще от того как он заюзывается, как расширение сделано и т.п.

вон, к примеру, в хроме открываешь дев-тулзы, и наблюдаешь как ресурсы улетают, пока не закроешь и не почистит

клиентские разные бывают
come-on вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
скрипты для imacros synthex JavaScript, Ajax 0 21.03.2014 17:35
нужно для форума сделать картинку размер 1000х150 {шапка форума} vit111 Фриланс 5 02.03.2014 11:25
Полезные компоненты для Delphi Стертор Компоненты Delphi 13 26.07.2013 17:23
Полезные вещи для новичков... из С++ Chris D Общие вопросы C/C++ 3 09.09.2010 20:34
скрипты для opera Cardinal_ Помощь студентам 0 04.06.2009 13:22