Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x | 3.2.x)

Проблемы с установкой или работой phpBB 3.0.х. Решение проблем связанных с модами, стилями, доработками и так далее.
Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x | 3.2.x)

Сообщение Slash » Вс янв 31, 2016 11:51 am

Название: Open Link New Window
Описание: Расширение открывает в новой вкладке: картинки - миниатюры, все внешние ссылки, в том числе и копирайты, а так же ссылки на сайты пользователей в мини профиле, в профиле и в списке всех пользователей.
Автор: Slash
Версия: 0.0.1
Установка: Перенести файлы расширения в папку: /ext/Slash/OpenLinkNewWindow/, затем включить расширение в администраторском разделе на странице: Администраторский раздел > Персонализация.

Расширение совместимо с phpBB 3.2.0. Установлено на этом форуме.
Вложения
Open Link New Window.zip
(2.21 КБ) 48 скачиваний

Реклама
Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Ср фев 03, 2016 7:10 pm

Если вы используете расширение товарища Anvar - External Links - Менеджер внешних ссылок http://bb3.mobi/forum/viewtopic.php?f=2&t=26
Вам следует изменить файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html, так:

Код: Выделить всё

<!-- IF not EXTERNAL_RED -->
<script type="text/javascript">
$('a[href^="http"]').not('a[href^="' + window.location.origin + '"]').click(function() {
    window.open(this.href);
    return false;
});
<!-- IF S_VIEWTOPIC or S_IN_POSTING -->

$('dl.thumbnail a').click(function() {
    window.open(this.href);
    return false;
});
<!-- ENDIF -->
</script>
<!-- ENDIF -->
Дело в том, что на странице переадресации, расширения External Links, будет открывать все ссылки в новом окне, а там этого не должно быть.

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Чт фев 04, 2016 8:59 pm

Небольшая доработка для вложенных картинок. Картинки появляются на той же странице, в новом слою:

Открыть файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html, найти:

Код: Выделить всё

$('dl.thumbnail a').click(function() {
    window.open(this.href);
    return false;
});
И заменить на:

Код: Выделить всё

$('dl.thumbnail a').click(function(event)
{
    event.preventDefault();    
    var href = $(this).attr('href');
    var mouse = $(this).offset();
    
    function size(href)
    {
        var img = new Image();
        img.src = href;
        img.onload = function()
        {
            return img;
        }

        return img;
    }
    
    var imgsize = size(href);
    var mousepx = mouse.top - 300;
    
    $('.window').css({
        'width'            : imgsize.width + 'px',
        'height'           : imgsize.height + 'px',
        'background-image' : 'url(' + href + ')',        
        'position'         : 'absolute',
        'border'           : '1px solid #999999',
        'border-radius'    : '4px',        
        'box-shadow'       : '0 0 12px rgba(0,0,5,1)',
        'top'              : mousepx + 'px',
        'left'             : '35px',    
    });    
});

var block = $('<div class="window"></div>');
$(block).appendTo('body');    

$('dl.thumbnail a').click(function()
{
    $('.window').fadeIn('slow');
});

$('.window').click(function()
{
    $('.window').fadeOut('slow');
});
После почистить кеш.

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Пт фев 05, 2016 12:42 pm

Немного подправил код, теперь картинка появляется по центру экрана, а не с боку:

Код: Выделить всё

$('dl.thumbnail a').click(function(event)
{
    event.preventDefault();    
    var href = $(this).attr('href');
    var spot = $(this).offset();
    
    function size(href)
    {
        var img = new Image();
        img.src = href;
        img.onload = function()
        {
            return img;
        }

        return img;
    }
    
    var imgsize = size(href);
    var top     = spot.top - 250;
    var left    = imgsize.width / 2;
    
    $('.window').css({
        'width'            : imgsize.width + 'px',
        'height'           : imgsize.height + 'px',
        'background-image' : 'url(' + href + ')',        
        'position'         : 'absolute',
        'border'           : '1px solid #999999',
        'border-radius'    : '4px',        
        'box-shadow'       : '0 0 12px rgba(0,0,5,1)',
        'top'              : top + 'px',
        'margin-left'      : '-' + left + 'px',        
        'left'             : '50%',    
    });    
});

var block = $('<div class="window"></div>');
$(block).appendTo('body');    

$('dl.thumbnail a').click(function()
{
    $('.window').fadeIn('slow');
});

$('.window').click(function()
{
    $('.window').fadeOut('slow');    
});
Инструкция для затемнения страницы при появлении картинки (нуждается в доработке), делаем так, после:

Код: Выделить всё

        'margin-left'      : '-' + left + 'px',        
        'left'             : '50%',    
    });
Добавляем:

Код: Выделить всё

    $('#wrap').css({
        'background'       : '#000000',
        'opacity'          : '0.6',        
    });
И после:

Код: Выделить всё

    $('.window').fadeOut('slow');
Добавляем:

Код: Выделить всё

    $('#wrap').css({
        'background'       : '',
        'opacity'          : '',        
    });
После внесенных изменений, необходимо почистить кеш форума.

cefp
Сообщения: 334
Зарегистрирован: Ср окт 17, 2012 6:49 pm
Поблагодарили: 3 раза

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение cefp » Пт фев 05, 2016 1:28 pm

Хорошо получилось, что если ещё добавить центрирование по вертикали? Бывает, что часть картинки уходит за экран, хотя высота экрана позволяет увидеть всю.
d o h o d - s - n u l y a .ru - идеи бизнеса.

Аватара пользователя
HD321kbps
Сообщения: 2
Зарегистрирован: Сб фев 06, 2016 6:22 pm

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение HD321kbps » Сб фев 06, 2016 6:23 pm

Жаль что не подхватывает ссылки в расширениях к примеру в чатах.

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Вс фев 07, 2016 7:29 pm

HD321kbps писал(а):Жаль что не подхватывает ссылки в расширениях к примеру в чатах.
Для mChat (https://www.phpbb.com/community/viewtop ... &t=2281451) следует добавить в файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html:

Код: Выделить всё

$('div#mchat-body').on('click', 'a', function()
{
    window.open(this.href);
    return false;
}); 
Почистить кеш.

Аватара пользователя
HD321kbps
Сообщения: 2
Зарегистрирован: Сб фев 06, 2016 6:22 pm

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение HD321kbps » Пн фев 08, 2016 2:49 am

Для cbb Chat (http://www.canidev.com/app/?lang=en&i=cbb-chat-v1.1.1) следует добавить в файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html:

Код: Выделить всё

$('div#chat-body').on('click', "a.postlink", function()
{
    window.open(this.href);
    return false;
});

Gunzel
Сообщения: 2
Зарегистрирован: Пн сен 26, 2016 1:31 am
Благодарил (а): 1 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Gunzel » Пн сен 26, 2016 1:49 am

Здравствуйте уважаемый Slash. Спасибо вам за полезное расширение. Подскажите как подружить его с расширением Highslide от Anvar? Получается что при включенных обоих расширениях, когда кликаешь на вложенную картинку, срабатывают оба. А хотелось бы, чтоб вложенные картинки открывались только в "Highslide".

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Slash » Пн сен 26, 2016 7:12 am

Gunzel, откройте файл: ext/Slash/OpenLinkNewWindow/styles/prosilver/template/event/overall_footer_after.html и удалите строки:

Код: Выделить всё

<!-- IF S_VIEWTOPIC or S_IN_POSTING -->

$('dl.thumbnail a').click(function() {
    window.open(this.href);
    return false;
});
<!-- ENDIF --> 
После очистите кэш.

Gunzel
Сообщения: 2
Зарегистрирован: Пн сен 26, 2016 1:31 am
Благодарил (а): 1 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение Gunzel » Пн сен 26, 2016 9:16 pm

Slash, безгранично вам благодарен :D

mihas
Сообщения: 1
Зарегистрирован: Вт дек 27, 2016 3:55 am

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x)

Сообщение mihas » Вт дек 27, 2016 3:58 am

Slash, спасибо за скриптик, просто и со вкусом! Поставил для всех своих стилей.

Аватара пользователя
Slash
Администратор
Сообщения: 2125
Зарегистрирован: Сб авг 11, 2012 7:39 am
Поблагодарили: 75 раз

Re: Открытие ссылок в новой вкладке | окне (ext phpBB 3.1.x | 3.2.x)

Сообщение Slash » Вт янв 17, 2017 8:34 am

Расширение совместимо с phpBB 3.2.0.
Установлено на этом форуме.

Добавил в первый пост.

Ответить Пред. темаСлед. тема

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 1 гость