Skip to content

Instantly share code, notes, and snippets.

@dvingerh
Created November 7, 2019 14:21
Show Gist options
  • Star 1 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save dvingerh/fc29a4b82484b79dfc351524e873f1da to your computer and use it in GitHub Desktop.
Save dvingerh/fc29a4b82484b79dfc351524e873f1da to your computer and use it in GitHub Desktop.
instagram_allow_saveimage.user.js
// ==UserScript==
// @name instagram_allow_saveimage
// @namespace http://catherine.v0cyc1pp.com/instagram_allow_saveimage.user.js
// @include https://www.instagram.com/*
// @version 1.13
// @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.
// ==/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);
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment