Greasy Fork

Instagram 文章相片/影片下載器

下載文章中的相片、影片

目前为 2020-06-02 提交的版本。查看 最新版本

// ==UserScript==
// @name         Instagram 文章相片/影片下載器
// @namespace    https://github.snkms.com/
// @version      1.0.4.0
// @description  下載文章中的相片、影片
// @author       5026
// @match        https://*.instagram.com/*
// @grant        GM_setValue
// @grant        GM_getValue
// @require      https://ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js
// @supportURL   https://www.facebook.com/smileopwe/
// ==/UserScript==

(function() {
    'use strict';
    var $ = window.jQuery;
    var timer = setInterval(function(){
        GM_setValue('oldHeight',$(document).height());

        if($('article ._97aPb[data-snig="canDownload"]').length==0 && onChangeURL()){
            console.log(true);
            onReadyMyDW();
        }
    },200);

    $(document).scroll(function(){
        if(GM_getValue('oldHeight') != $(this).height()){
            console.log('onChange()');
            onReadyMyDW();
        }
    });

    function onChangeURL(){
        var reA = /^(https:\/\/www.instagram.com\/p\/)/g;
        var reB = /^(https:\/\/www.instagram.com\/)$/g;
        var URLs = location.href;
        if(URLs.match(reA) || URLs.match(reB)){
            return true;
        }
    }
    function onReadyMyDW(){
        $('article ._97aPb').each(function(){
            if(!$(this).attr('data-snig')){
                var style = "position: absolute;right:15px;top:15px;padding:5px;line-height:1;background:#fff;border-radius: 5px;cursor:pointer;";
                if($(this).find('video.tWeCl').length){

                    $(this).append('<div class="SNKMS_IG_DW_MAIN_VIDEO" style="'+style+'">提取影片資料</div>');
                    $(this).on('click','.SNKMS_IG_DW_MAIN_VIDEO',function(e){
                        $(this).parent().find('video.tWeCl').each(function(){
                            console.log($(this).attr('src'));
                        });
                    });
                }
                else{
                    $(this).append('<div class="SNKMS_IG_DW_MAIN" style="'+style+'">提取圖片資料</div>');
                    $(this).on('click','.SNKMS_IG_DW_MAIN',function(e){
                        IG_createDM();
                        var i = 0;
                        $(this).parent().find('.FFVAD').each(function(){
                            i++;
                            console.log($(this).attr('src'));
                            $('.IG_SN_DIG>div').append('<a style="margin:5px 0px;padding:5px 0px;color:#111;font-size:1rem;line-height:1rem;text-align:center;border:1px solid #000;border-radius: 5px;" target="_blank" href="'+$(this).attr('src')+'&dl=1">資料'+i+'</a>');
                        });
                    });
                }
                $(this).attr('data-snig','canDownload');
            }
        });
    }
    function IG_createDM(){
        $('body').append('<div class="IG_SN_DIG" style="position: fixed;left: 0px;right: 0px;bottom: 0px;top: 0px;background: rgba(0,0,0,.75);z-index: 500;"><div style="z-index: 501;padding:15px;top:7%;position: absolute;left: 50%;transform: translateX(-50%);width: 500px;min-height: 200px;background:#fff;border-radius: 15px;"></div></div>');
        $('.IG_SN_DIG>div').append('<button class="IG_SN_DIG_BTN">關閉視窗</button>');
    }
    $(function(){
        onReadyMyDW();

        $('body').on('click','.IG_SN_DIG_BTN',function(){
            $('.IG_SN_DIG').remove();
        });

    });
    // Your code here...
})();