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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 31.08.2016, 22:46   #51
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Да, просто всем лень заморачиваться с этим в таких случаях, мало кому это доставит неудобства.

Цитата:
Сообщение от Alar Посмотреть сообщение
предлагаю доделать скрипты так, чтобы залить на сервер и я их подключу
Цитата:
Сообщение от Alar Посмотреть сообщение
сделать js файл который кидается на сервер.

и ссылку вызова его, которым можно вызвать и выполнить с передачей или без передачи параметров вызова.
Вот сделал для быстрого цитирования и вставки плеера ютуб/коуб.
https://dl.dropboxusercontent.com/u/...videoembed.zip

Требуется jQuery любой не сильно древней версии (например 1.12 или 2.1, нужен только jquery.js https://code.jquery.com/jquery-1.12.4.min.js без jquery.UI, стилей и т.п.)
Код:
<script src="......jquery-1.12.4.min.js"></script>
Подключать как-то так:
Код:
<link rel="stylesheet" type="text/css" href=".....quick_quote.css">
<script src="......quick_quote.js"></script>

<script>
quickquote.init();
</script>
Код:
<script src="......video_embed.js"></script>

<script>
videoembed.init();
</script>
Или с параметрами:
Код:
<script>
quickquote.init({
    selection: false, // отключить цитирование выделенного
    post: false // отключить вставку цитаты без перезагрузки по кнопке Цитата
});
</script>
Код:
<script>
videoembed.init({
    youtube: false, // не вставлять плеер youtube
    coub: false, // не вставлять плеер coub
    hideLinks: true // прятать исходные ссылки после вставки плеера
});
</script>
Можно вставлять в любое место страницы любое число раз, сработает только один раз (первый вызов) после загрузки документа.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Вадим Мошев; 09.11.2016 в 21:12.
Alex11223 вне форума Ответить с цитированием
Старый 09.10.2016, 20:32   #52
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

увидел. на днях вникну и займусь.

Последний раз редактировалось Alex11223; 09.11.2016 в 21:37.
Alar вне форума Ответить с цитированием
Старый 07.11.2016, 02:20   #53
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
"на днях" еще не наступило?
Для видео вставил.
Так в моём понимании и должно работать на форуме, без всяких дополнительных тегов.

Alex11223, респект огромнейший, админ супер доволен )

Последний раз редактировалось Alex11223; 09.11.2016 в 21:38.
Alar вне форума Ответить с цитированием
Старый 12.11.2016, 00:20   #54
pompiduskus
юзер как все
Участник клуба
 
Аватар для pompiduskus
 
Регистрация: 10.01.2012
Сообщений: 1,586
По умолчанию

Отлично, так смотришь по тиху станет более менее функциональным форму.
"быстря цитата" == отличная идея.

Вот что отвратительно, дак это подсветка синтаксиса на форму программистов, только для php+html. Это как-то не салидно. На сей день существует такое количество готовых, экономных (к ресурсам) решений, хоть отбавляй А мы все еще в пещере сидим.

Да и вообще, чуть чуть красок бы добавить. А то все такое темное, хоть на луну вой!
<Дзен - Вся вселенная в тебе > | Резюме: https://ch3ll0v3k.github.io/CV/

Последний раз редактировалось Вадим Мошев; 12.11.2016 в 17:47.
pompiduskus вне форума Ответить с цитированием
Старый 05.01.2017, 21:34   #55
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Firefox 47.0
Greasemonkey 3.9
использую скрипт
Код:
// ==UserScript==
// @name ProgrammersForumCodeLineNumbering
// @author BDA
// @version 0.2
// @include http://programmersforum.ru/*
// @include http://www.programmersforum.ru/*
// @require https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js
// ==/UserScript==

(function (window, undefined) {
    var w;
    if (typeof unsafeWindow !== undefined) {
        w = unsafeWindow;
    } else {
        w = window;
    }
    if (w.self != w.top) {
        return;
    }
    if (/http:\/\/(www\.)?programmersforum.ru/.test(w.location.href)) {
        $("code").each(function() {
            var table = $('<table><tr><td align="right"></td><td></td></tr></table>');
            var lines = $(this).html().trim().split('\n');
            var res = '', i, size = lines.length.toString().length;
            for (i = 0; i < lines.length; i++)
                res = res + (i + 1) + ':\n';
            $(table).find("td:first-child").html('<pre name="code"><code>' + res + '</code></pre>');
            $(this).parent().parent().append(table);
            $(this).parent().appendTo($(table).find("td:nth-child(2)"));
        });
    }
})(window);
в результате получаю очень большой отступ
att.jpg
Как пофиксить?
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 05.01.2017, 21:43   #56
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
$(table).find("td:first-child").html('<pre name="code" style="width: auto;"><code style="width: auto;">' + res + '</code></pre>');

А он точно нужен?
Я как-то не особо страдаю без номеров, в IDE/редакторе кода тоже редко использую.

Я думал допилить нормальную нумерацию, но это оказалось не совсем просто, и пока не допилил.
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 05.01.2017, 21:54   #57
Aleksandr H.
2 the Nation Glory
Старожил
 
Аватар для Aleksandr H.
 
Регистрация: 27.05.2014
Сообщений: 3,289
По умолчанию

Спасибо, коррекция работает как надо.
Цитата:
Сообщение от Alex11223 Посмотреть сообщение
А он точно нужен?
ну надо же прочитать "10 строку в которой ошибка" Не мышом же елозить по мониторе 1,2,3....7,сбился,1,2,3....
Кто умер, но не забыт, тот бессмертен.
Лао-Цзы.
Aleksandr H. вне форума Ответить с цитированием
Старый 24.03.2017, 22:12   #58
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

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

Скрипт для копирования ссылок на поиск по форуму.
Для любителей отправлять туда вместо гугла, если есть такие )

Работает для пользователей, для гостей всегда открывается форма с капчей.

Работает для всех полей.
Из-за фигни с кодировкой на форуме пришлось реализовать свою конвертацию для win1251 при кодировании url.

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

http://www.programmersforum.ru/searc...s=0&do=process
http://www.programmersforum.ru/searc...E2&showposts=0
http://www.programmersforum.ru/searc...s=1&do=process
http://www.programmersforum.ru/searc...=1&saveprefs=1
http://www.programmersforum.ru/searc...%E0&do=process
http://www.programmersforum.ru/searc...er&saveprefs=1

Форум программистов - Поиск по форуму - Google Chrome 2017-03-24 21.03.22.pngФорум программистов - Поиск по форуму - Google Chrome 2017-03-24 21.03.44.png
Форум программистов - Поиск по форуму - Google Chrome 2017-03-24 21.04.52.png

Установить
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.

Последний раз редактировалось Alex11223; 27.06.2019 в 10:04.
Alex11223 вне форума Ответить с цитированием
Старый 24.03.2017, 22:12   #59
Alex11223
Старожил
 
Аватар для Alex11223
 
Регистрация: 12.01.2011
Сообщений: 19,500
По умолчанию

Код:
// ==UserScript==
// @name         ProgrammersForum Search Link
// @namespace    http://programmersforum.ru/
// @version      0.3
// @description  adds buttons to copy search url
// @author       Alex P
// @include      *programmersforum.ru/*
// @grant        none
// @downloadURL  https://github.com/AlexP11223/ProgForumRuUserscripts/raw/master/pf_search_link.user.js
// ==/UserScript==

var searchlink = new function() {
    'use strict';

    var self = this;

    var win1251map = {
        1027: 129, 8225: 135, 1046: 198, 8222: 132, 1047: 199, 1168: 165, 1048: 200, 1113: 154, 1049: 201,
        1045: 197, 1050: 202, 1028: 170, 160: 160, 1040: 192, 1051: 203, 164: 164, 166: 166, 167: 167, 169: 169,
        171: 171, 172: 172, 173: 173, 174: 174, 1053: 205, 176: 176, 177: 177, 1114: 156, 181: 181, 182: 182,
        183: 183, 8221: 148, 187: 187, 1029: 189, 1056: 208, 1057: 209, 1058: 210, 8364: 136, 1112: 188, 1115: 158,
        1059: 211, 1060: 212, 1030: 178, 1061: 213, 1062: 214, 1063: 215, 1116: 157, 1064: 216, 1065: 217, 1031: 175,
        1066: 218, 1067: 219, 1068: 220, 1069: 221, 1070: 222, 1032: 163, 8226: 149, 1071: 223, 1072: 224, 8482: 153,
        1073: 225, 8240: 137, 1118: 162, 1074: 226, 1110: 179, 8230: 133, 1075: 227, 1033: 138, 1076: 228, 1077: 229,
        8211: 150, 1078: 230, 1119: 159, 1079: 231, 1042: 194, 1080: 232, 1034: 140, 1025: 168, 1081: 233, 1082: 234,
        8212: 151, 1083: 235, 1169: 180, 1084: 236, 1052: 204, 1085: 237, 1035: 142, 1086: 238, 1087: 239, 1088: 240,
        1089: 241, 1090: 242, 1036: 141, 1041: 193, 1091: 243, 1092: 244, 8224: 134, 1093: 245, 8470: 185, 1094: 246,
        1054: 206, 1095: 247, 1096: 248, 8249: 139, 1097: 249, 1098: 250, 1044: 196, 1099: 251, 1111: 191, 1055: 207,
        1100: 252, 1038: 161, 8220: 147, 1101: 253, 8250: 155, 1102: 254, 8216: 145, 1103: 255, 1043: 195, 1105: 184,
        1039: 143, 1026: 128, 1106: 144, 8218: 130, 1107: 131, 8217: 146, 1108: 186, 1109: 190
    };

    this.win1251UrlEncode = function(str) {
        var result = '';
        for (var i = 0; i < str.length; i++) {
            var ord = str.charCodeAt(i);
            if (ord < 128) {
                result += encodeURIComponent(str.charAt(i));
            }
            else if (ord in win1251map) {
                result += '%' + win1251map[ord].toString(16).toUpperCase();
            } else {
                result += encodeURIComponent('&#' + ord + ';');
            }
        }
        return result;
    };

    this.createQuery = function(formData, createSearchFormLink) {
        createSearchFormLink = createSearchFormLink || false;

        var isQuickSearch = formData.filter(function (field) { return field.name === 'quicksearch' && field.value === "1"; }).length > 0;

        var fieldsToRemove = [ 'securitytoken', 'do', "s", 'quicksearch' ];
        if (isQuickSearch) {
            fieldsToRemove.push('exactname');
            fieldsToRemove.push('childforums');
        }

        var queryData = formData.filter(function (field) {
            return $.inArray(field.name, fieldsToRemove) === -1;
        });

        if (!createSearchFormLink) {
            queryData.push({ name: 'do', value:'process' });
        }

        return queryData;
    };

    this.serializeQuery = function(queryData) {
        return queryData.map(function (field) {
            return self.win1251UrlEncode(field.name) + '=' + self.win1251UrlEncode(field.value);
        }).join('&');
    };

    this.createUrl = function(form, createSearchFormLink) {
        var formData = $(form).eq(0).serializeArray();

        var query = self.serializeQuery(self.createQuery(formData, createSearchFormLink));

        return window.location.protocol + "//" + window.location.hostname + '/search.php?' + query;
    };

    function copyToClipboard() {
        try {
            return document.execCommand('copy');
        } catch (ex) {
            return false;
        }
    }

    function onLinkClicked(e, sender, createSearchFormLink) {
        e.preventDefault();
        e.stopPropagation();

        var table = sender.closest('table');
        var form = table.find('form');
        if (!form.length) {
            form = table.closest('form');
        }

        var url = self.createUrl(form, createSearchFormLink);

        var link = sender.find('a');
        link.attr('href', url);

        $('.link-textbox').remove();
        $('<input class="link-textbox" style="display: block; width: 400px"/>')
            .appendTo(sender.parent())
            .focus()
            .val(url)
            .select();

        if (copyToClipboard()) {
            $('.link-popup').remove();
            var popup = $('<span class="link-popup" style="display: none;">ссылка скопирована в буфер обмена</span>')
                .appendTo(sender.parent());
            popup.fadeIn();
            popup.delay(2500).fadeOut();
        }
    }

    function doInit() {
        var quickSearchTables = $('#navbar_search_menu, #threadsearch_menu, #header_right_cell').find('tbody');
        var mainSearchTable = $('input[name="dosearch"]').parent().parent();

        var quickSearchCopyLinks = $(
            '<tr class="search-copy-link"><td class="vbmenu_option vbmenu_option_alink"><a href="javascript:void(0)"">Скопировать ссылку</a></td></tr>')
            .appendTo(quickSearchTables);
        var quickSearchFormCopyLinks = $(
            '<tr class="search-copy-form-link"><td class="vbmenu_option vbmenu_option_alink"><a href="javascript:void(0)"">Скопировать ссылку на форму</a></td></tr>')
            .appendTo(quickSearchTables);

        var mainSearchLinksBlock = $('<div style="margin-top:8px"></div>').appendTo(mainSearchTable);

        var mainSearchCopyLink = $(
            '<div><a class="main-search-copy-link" href="javascript:void(0)"">Скопировать ссылку</a></div>')
            .appendTo(mainSearchLinksBlock);
        var mainSearchFormCopyLink = $(
            '<div><a class="main-search-copy-form-link" href="javascript:void(0)"">Скопировать ссылку на форму</a></div>')
            .appendTo(mainSearchLinksBlock);

        $.merge(quickSearchCopyLinks, quickSearchFormCopyLinks).hover(
            // simulate default vBulletin behavior
            function() {
                $(this).children().addClass('vbmenu_hilite vbmenu_hilite_alink');
                $(this).children().removeClass('vbmenu_option vbmenu_option_alink');
            },
            function() {
                $(this).children().addClass('vbmenu_option vbmenu_option_alink');
                $(this).children().removeClass('vbmenu_hilite vbmenu_hilite_alink');
            });

        $.merge(quickSearchCopyLinks, mainSearchCopyLink).click(function (e) {
            onLinkClicked(e, $(this), false);
        });
        $.merge(quickSearchFormCopyLinks, mainSearchFormCopyLink).click(function (e) {
            onLinkClicked(e, $(this), true);
        });

        // hide buttons for header search box until focus, to avoid "jumping" on each page load
        var headerSearchCopyLinks = $('#header_right_cell').find('.search-copy-link, .search-copy-form-link');
        headerSearchCopyLinks.hide(0);
        $('#header_right_cell').find('input').focus(function () {
            headerSearchCopyLinks.show();
        });
    }

    this.init = function() {
        if (window.searchLinkInitialized)
            return;
        window.searchLinkInitialized = true;

        doInit();
    };
};
searchlink.init();
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом.
Alex11223 вне форума Ответить с цитированием
Старый 24.03.2017, 23:39   #60
Alar
Александр
Администратор
 
Аватар для Alar
 
Регистрация: 28.10.2006
Сообщений: 17,501
По умолчанию

Цитата:
Сообщение от Alex11223 Посмотреть сообщение
Скрипт для копирования ссылок на поиск по форуму
этот скрипт надо сразу в продакшен, что скажешь?
Alar вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 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