🏠 Home 

instagram_allow_saveimage

Allow "Save image as..." on context menu of Instagram.


Install this script?
// ==UserScript==
// @name        instagram_allow_saveimage
// @namespace   http://catherine.v0cyc1pp.com/instagram_allow_saveimage.user.js
// @match       https://www.instagram.com/*
// @version     1.14
// @require     http://code.jquery.com/jquery-2.2.4.min.js
// @grant       none
// @run-at      document-end
// @description Allow "Save image as..." on context menu of Instagram.
// @description KNOWN ISSUE: can't save videos.
// @license     MIT
// ==/UserScript==
this.$ = this.jQuery = jQuery.noConflict(true);
//console.log("instagram_allow_saveimage start");
function main() {
$("img").each(function() {
$(this).removeAttr("srcset");
$(this).removeAttr("sizes");
var $parent = $(this).parent("div");
//console.log("$parent="+$parent);
if ( $parent == null || $parent == undefined ) {
return;
}
var $next = $parent.next("div");
//console.log("$next="+$next);
if ( $next == null || $next == undefined ) {
return;
}
var $next2 = $next.next("div");
//console.log("$next2="+$next2);
if ( $next2 != null || $next2 != undefined ) {
var next2_classname = $next2.attr("class");
if ( next2_classname != undefined ) {
//console.log("next2_classname="+next2_classname);
return;
}
}
var classname = $next.attr("class");
//console.log("classname="+classname);
/*
var parent_classname = $parent.attr("class");
console.log("parent_classname="+parent_classname);
if ( classname === "_b0xvl" ) {
return;
}
*/
var kids = $next.children();
//console.log("len="+kids.length);
if ( kids.length == 0 ) {
//console.log("hide: classname="+classname);
$next.hide();
} else {
//console.log("show: classname="+classname);
$next.show();
}
});
}
var observer = new MutationObserver(function(mutations) {
observer.disconnect();
main();
observer.observe( document, config);
});
var config = { attributes: true, childList: true, characterData: false, subtree:true };
observer.observe( document, config);