Скачиваем фото с mamba.ru (love.mail.ru). [Обновлено]

Хочу представить вам userJS для сохранения фотографий с мамбы.
Данное расширение добавляет кнопочку Download рядом с кнопкой Close.

Подробности под катом


Раз вы попали сюда, то наверное, вы сталкивались с проблемой сохранения изображений с сайта знакомств mamba.ru(love.mail.ru и другие партнерские проекты).

Знакомая картина, не правда ли? Давайте разберемся, почему так происходит. Если заглянуть в исходный текст страницы, то все становится понятно. Фотографии расположены горизонтальной лентой. Лента состоит из DIV'овых блоков, внуктри которых атрибут INS со свойством background-image. Он то нам и нужен.

(кликабельно)

Приступаем к написанию кода.

// ==UserScript==
// @name Mamba download photos
// @namespace wolf-et.ru
// @version 0.2
// @source wolf-et.ru
// @author #Wolf#
// @description Adds a download button for photos
// @include *mamba.ru*
// @include *love.mail.ru*
// ==/UserScript==
////jQ1.5////
Код jquery-1.5.min.js
////////////
var g;

function parse_id(){
var id=/photo_id\=(\d+)/gi.exec(window.location.href);return id[1];}
function parse_div(d){var my1=/(\d+)_huge/gi.exec(d);return my1[1];}
function clurl(im){var my2=/url\("?(.+?)"?\)/gi.exec(im);if(my2!=null)return my2[1];}
if(/album_photos/gi.test(window.location)){
$('.fv-empty').before('<a id="dwn" style="right: 22px; top: 0; cursor: pointer; position: absolute; z-index: 101;"><img src="http://storage1.static.itmages.ru/i/11/1202/h_1322809719_5031124_6a6d02084d.jpeg" alt="" /></a>');
$('#dwn').click(function(){
$('.line').children().children().each(function(e) {
//if($(this).attr('style')!=undefined)alert($(this).attr('style'));
if(/_huge/gi.test($(this).attr('style'))){var tmp=$(this).attr('style');if(parse_id()==parse_div(tmp) && tmp!=null)g=clurl(tmp);}
});
if(g!=null)window.open(g);
});
}

В итоге выглядит это примерно так:

По щелчку на кнопку, откроется новое окно, где вы можете привычным для вас способом(правой кнопкой мыши) сохранить фото.

Несколько слов касаемо кроссбраузерности.
Код библиотеки jQuery пришлось вставить прямо в файл, т.к chrome не может заинклудить его с внешних ресурсов.
Проверено на Mozilla firefox/Google chrome/Opera.

Для установки пользователям Firefox(при условии, что установлено расширение Greasemonkey) и Chrome достаточно перейти по ссылке, представленной ниже.
mamba.user.js
Пользователям Opera необходимо скачать данный файл и положить в папку с пользовательскими скриптами, которая прописана в настройках браузера.

    • Real-Sinner
    • Ноябрь 24th, 2011 21:35

    Турбо !

    • SP
    • Ноябрь 27th, 2011 15:00

    Увы... не работает... Ни в мозилле, ни в опере...

    • #Wolf#
    • Декабрь 2nd, 2011 18:36

    Обновил. Дизайн изменился, поэтому не работало.

    • Антон
    • Декабрь 19th, 2011 18:11

    не работает. доп кнопка не появляется

*

 
http://wolf-et.ru/wp-admin/page/library/